728x90
★ 문제
- 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
- 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
★ 소스코드
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
HashMap <Character , Integer> map = new HashMap<Character, Integer>();
char alpha = 'A';
int plus = 0;
int max = 0;
int max2 = 0;
char win = 0;
String input = scan.next();
for(int i=0; i<input.length(); i++) {
char c = 0;
if('a'<=input.charAt(i)&&input.charAt(i)<='z') {
int num = input.charAt(i)-32;
c = (char)num;
}else {
c = input.charAt(i);
}
if(map.containsKey(c)) {
map.replace(c, map.get(c)+1);
}else {
map.put(c, 1);
}
}
for(Entry<Character, Integer> entry : map.entrySet()) {
if(max<entry.getValue()) {
max = entry.getValue();
win = entry.getKey();
}else if(max==entry.getValue()) {
max2 = max;
}
}
if(max2 == max) {
System.out.println("?");
}else {
System.out.println(win);
}
}
}
728x90
'백준 알고리즘' 카테고리의 다른 글
6. 심화 1 - 8 (2941번) (0) | 2023.03.19 |
---|---|
6. 심화 1 - 7 (4344번) (0) | 2023.03.19 |
6. 심화 1 - 5 (10988번) (0) | 2023.03.19 |
6. 심화 1 - 4 (10812번) (0) | 2023.03.19 |
6. 심화 1 - 3 (2444번) (0) | 2023.03.19 |