1. 문제 링크
2. 문제 및 입출력예제
3. 문제 풀이
출력조건이 대문자라서 toUpperCase()를 이용해 전부 대문자로 만든다.
split이 아닌 charAt()을 이용해 한 글자씩 뽑아서 아스키코드의 알파벳으로 바꾸고
반복문을 돌리며 카운트를 한다.
4. 코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String str= br.readLine();
str = str.toUpperCase();
int[] num = new int[26];
for(int i=0;i<str.length();i++) {
num[str.charAt(i)-65]++;
}
int max = 0;
int maxI = 0;
boolean flag = true;
for(int i=0;i<num.length;i++) {
if(num[i]>max) {
max = num[i];
maxI = i;
flag = true;
}
else if(num[i]==max) {
flag = false;
}
}
if(flag) {
System.out.println((char)(maxI+65));
}
else {
System.out.println("?");
}
}
}
'ALGORITHM' 카테고리의 다른 글
백준 11047 동전 0 (Java) (0) | 2023.01.29 |
---|---|
백준 1010 다리놓기 (Java) (0) | 2023.01.28 |
백준 8958 OX퀴즈 (Java) (0) | 2023.01.26 |
백준 1547 공 (Java) (0) | 2023.01.25 |
백준 1931 회의실 배정 (Java) (0) | 2023.01.24 |