반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준] 백준 27919번 UDPC 파티 자바(JAVA)
1) 문제번호 : 27919번
2) 문제 출처
https://www.acmicpc.net/problem/27919
6. 풀이
- U는 C와 같이 취급을 하고, D는 P와 같이 취급을 한다.
- 그래서, 문자열에서 U와 C, D와 P의 개수를 구한다.
- U가 채택되는 조건은 DP의 개수를 1을 더하여 2로 나눈 값보다 커야 한다.
- DP가 채택되는 조건은 DP의 개수가 0보다 커야 한다.
- CCCCCCCCCCCCCDP 이렇게 있을 때, C 2개가 U로 변하면 U도 채택될 수 있고, C가 C로만 되어 있을 경우 D와 P 2개다 채택할 수 있기 때문이다. 이 예시의 정답은 UDP다.
7. 소스 코드
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int cuCnt = 0;
int dpCnt = 0;
for(int i = 0; i < str.length(); i++) {
String s = str.substring(i, i+1);
if(s.equals("C") || s.equals("U")) {
cuCnt++;
} else if(s.equals("D") || s.equals("P")) {
dpCnt++;
}
}
String result = "";
//U가 채택되는 경우
//반례 uc 50 d 45 p 45인 경우 UDP 출력
if(cuCnt > ((dpCnt + 1) / 2)) {
result += "U";
}
//DP가 채택되는 경우
if(dpCnt > 0) {
result += "DP";
}
System.out.println(result);
}
}
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준] 백준 21312번 홀짝 칵테일 자바(JAVA) (0) | 2023.04.13 |
---|---|
[백준] 백준 2083번 럭비 클럽 자바(JAVA) (0) | 2023.04.12 |
[백준] 백준 25628번 햄버거 만들기 자바(JAVA) (0) | 2023.04.08 |
[백준] 백준 27890번 특별한 작은 분수 자바(JAVA) (0) | 2023.03.29 |
[백준] 백준 25915번 연세여 사랑한다 자바(JAVA) (0) | 2023.03.28 |
[백준] 백준 25630번 팰린드롬 소떡소떡 자바(JAVA) (0) | 2023.03.27 |
[백준] 백준 27918번 탁구 경기 자바(JAVA) (0) | 2023.03.27 |
[백준] 백준 27913번 SciComLove (2023) 자바(JAVA) (0) | 2023.03.26 |
최근댓글