백준 - 1157 단어공부

류희수·2024년 12월 20일

코딩 테스트

목록 보기
3/5

티어 : 브론즈 1

전에 풀었던 문제와 비슷했다. 사실상 대소문자를 구별하지 않는다길레 전부 소문자로 만들었더니 금새 해결됬다.

트슈

    String alpa2 = bufferedReader.readLine();
	alpa2.toLowerCase();// 소문자로 전부 변경 
    String alpa2 = bufferedReader.readLine();
    String alpa = alpa2.toLowerCase();// 소문자로 전부 변경

String은 불변 객체이니 항상 변수에다가 새롭게 저장할 것 !

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {

        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

            String alpa2 = bufferedReader.readLine();
            String alpa = alpa2.toLowerCase();// 소문자로 전부 변경


        int[] result = new int[26]; // 알파벳 개수


            for (int i = 0; i < alpa.length(); i++) {
                if (alpa.charAt(i) >= 'a' && alpa.charAt(i) <= 'z') {
                    result[alpa.charAt(i) - 'a']++; // 알파벳 크기에 저장 ex) b - a = 1
                }
            }

            int max = 0;
            for (int r : result) {
                if (r > max) {
                    max = r;
                }
            }

            int cnt = 0;
            int answer = 0;

            for (int k = 0; k < 26; k++) {
                if (result[k] == max) {
                    cnt++; // 중복 체크 동일한게 2개면 ? 나오게
                    answer = k;
                }
            }

            System.out.println(cnt == 1 ? (char) (answer + 'A') : "?");

    }
}
profile
자바를자바

0개의 댓글