문제 이름 :
단어 공부
문제 설명 :
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
입력 :
첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
입력 예시:
1. Mississipi
2. zZa
3. z
4. baaa
출력 :
째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는?를 출력한다
출력 예시 :
1. ?
2. Z
3. Z
4. A
코드:
import java.util.*;
public class alg_Test {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String st = sc.next();
int[] in = new int[91];
String st2 = st.toUpperCase();
for(char c : st2.toCharArray()){
in[c]++;
}
int max = Integer.MIN_VALUE;
for(int i = 0; i < in.length; i++) {
if(max < in[i]) {
max = in[i];
}
}
int cnt = 0;
for(int i : in) {
if(max == i) cnt++;
}
if(cnt >= 2) {
System.out.println("?");
}else {
int max2 = 0;
for(int i = 0; i < in.length; i++) {
if(max2 < in[i]) {
max2 = in[i];
}
}
for(int i = 0; i < in.length; i++) {
if(max2 == in[i]) {
char ch = (char) i;
System.out.println(ch);
}
}
}
}
}
'알고리즘 문제' 카테고리의 다른 글
LeetCode (Java) 문제 Single Number (0) | 2024.10.04 |
---|---|
LeetCode (Java) 문제 10.02 (3) | 2024.10.02 |
LeetCode(Java) 문제 Valid Parentheses (0) | 2024.10.01 |
LeetCode (Java) 문제 (0) | 2024.09.30 |
백준 알고리즘 문제 (Java) 09.20 (0) | 2024.09.20 |