[백준] 1157

ninano05·2026년 3월 23일

HashMap 사용해서 개수 카운팅
대문자로 변경해서 대소문자 개수 통일
개수가 중복인 경우 ? 처리 if문 추가

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        String s = br.readLine();
        bw.write(solution(s)+"");
        bw.flush();
        bw.close();
        br.close();
    }

    public static Character solution(String s) {
        //string을 모두 대문자 or 소문자로 변경
        String su = s.toUpperCase();
        // 해시 사용하기
        HashMap<Character, Integer> map = new HashMap<>();
        // 해시로 가장 문자별 개수 구하기
        for(int i=0; i<su.length(); i++) {
            map.put(su.charAt(i), map.getOrDefault(su.charAt(i), 0)+1);
        }
        int max = 0;
        Character c = '?';
        for(Character n : map.keySet()) {
            if(map.get(n) > max) {
                max = map.get(n);
                c = n;
            } else if (map.get(n) == max){
                c = '?';
            }
        }
        return c;
    }
}
profile
초보 개발자

0개의 댓글