본문 바로가기
Problem Solving/Baekjoon

[백준] 1157 단어 공부 - Implementation / Java

by graycode 2024. 4. 16.

 문제 링크

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net

 

 풀이 코드

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

public class Main {

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

        String s = br.readLine();
        int[] arr = new int[26];
        for (int i = 0; i < s.length(); i++) arr[s.charAt(i) - (s.charAt(i) < 'a' ? 'A' : 'a')]++;

        int max = 0, c = 0;
        for (int i = 0; i < 26; i++) {
            if (arr[i] > max) {
                max = arr[i];
                c = i;
            } else if (arr[i] == max) c = -2;
        }

        bw.write(String.valueOf((char) (c + 'A')));
        bw.flush();
    }

}

댓글