본문 바로가기
개발/[백준] 브론즈 마스터하기

백준 1177번 _ 단어공부 [자바]

by 쑨토리 2023. 1. 26.
반응형

 

 

https://www.acmicpc.net/problem/1157

 

 

1157번: 단어 공부

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

www.acmicpc.net


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[26];
        String s = sc.next();

        for (int i = 0; i < s.length(); i++) {
            if (65 <= s.charAt(i) && s.charAt(i) <= 90) {
                //대문자 범위, 단 숫자 말고 문자로 빼줘도 됨
                //'A' <= s.charAt(i) && s.charAt(i) <= 'Z'
                arr[s.charAt(i) - 65]++;
            } else {
                //소문자 범위
                arr[s.charAt(i) - 97]++;
            }
        }
        int max = -1;
        char ch = '?';
        for (int i = 0; i < 26; i++) {
            if(arr[i]> max){
                max = arr[i];
                ch = (char)(i+65);
                //대문자로 출력해야하므로 65를 더해준다.
            } else if (arr[i]==max) {
                ch = '?';
            }
        }
        System.out.println(ch);
    }
}