Java : 백준(1157) 단어공부

김선미·2022년 10월 5일
  • 지금까지 한 알고리즘 중에 제일 쉬워서.. 금방 풀수 있을 줄 알았지만 char 자료형과 아스키코드를 사용해야 된다는걸 몰라서 결국 정답을 검색해서 배워야했다. 그래도 로직은 거의 다 맞았다.
  • index를 25로 했었는데 채점이 틀려서 26으로 수정했더니 맞았다. Z를 입력하면 num은 26이 되는데 배열이 25까지밖에 없어서 틀린 거였다. 배열은 0부터 시작하지만 아스키코드는 26까지의 숫자가 필요하므로 26으로 작성하는 것이 좋다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String string = br.readLine().toUpperCase();

        int[] count = new int[26];

        for (int i=0; i<string.length(); i++) {
            int num = string.charAt(i)-'A';
            count[num]++;
            }

        int max = 0;
        char maxAlphabet = '?';

        for (int i = 0; i < count.length; i++){
            if (count[i] > max) {
                max = count[i];
                maxAlphabet = (char)(i+'A');
            } else if (max == count[i]) {
                maxAlphabet = '?';
            }
        }
        System.out.println(maxAlphabet);
    }
}
profile
백엔드 개발 공부

0개의 댓글