문제 출처
https://www.acmicpc.net/problem/1157
※ 주의할 점
무조건 대문자로 출력해야 하기 때문에 아스키코드를 통해 문제를 해결하도록 하자
? 출력되는 경우의 수를 조심해주자
※ 소스코드
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) throws IOException {
//input
Scanner scanner = new Scanner(System.in);
HashMap<Character, Integer> map = new HashMap<>();
String word = scanner.next();
for (int i = 0; i < word.length(); i++) {
int index = word.charAt(i);
if (index > 91) {
index -= 32;
}
char character = (char) index;
if (!map.containsKey(character)) {
map.put(character, 1);
}
else{
map.replace(character, map.get(character) + 1);
}
}
char targetKey=' ';
int max = 0;
List<Integer> collect = map.values().stream().sorted((c1, c2) -> c2 - c1).collect(Collectors.toList());
if (collect.size() > 1 && collect.get(0).equals(collect.get(1))) {
System.out.println("?");
return;
}
for (Character character : map.keySet()) {
if (map.get(character) > max) {
targetKey = character;
max = map.get(character);
}
}
System.out.println(targetKey);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1085번 직사각형에서 탈출 - Java (0) | 2021.03.04 |
---|---|
[백준] 1181번 단어정렬(반례) - Java (0) | 2021.03.04 |
[백준] 1436번 영화감독 숌 - Java (0) | 2021.03.04 |
[백준] 2908번 상수 - Java (0) | 2021.03.03 |
[백준] 1018번 체스판 다시 칠하기(반례) - Java (0) | 2021.03.03 |