코딩테스트 연습 기록

이종길·2021년 12월 25일
0

코딩테스트 연습

목록 보기
14/128

2021.12.25 5일차

백준 1157번 (단어 공부)

문제

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

나의 방법

  1. 입력 문자열 toUpperCase()로 대문자로 변경
  2. A ~ Z까지 int 카운트 배열 생성 (A - 65, Z - 90, length - 26)
  3. 비교를 위한 max 설정
  4. max보다 큰 값 나오면 max 변경, 같은 값 나오면 ?로 설정
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next().toUpperCase();

        int[] intArr = new int[26];
        int max = Integer.MIN_VALUE;
        char answer = ' ';

        for (int i = 0; i < s.length(); i++) {
            intArr[s.charAt(i) - 65]++;
        }

        for (int x = 0; x < intArr.length; x++) {
            if (max < intArr[x]) {
                max = intArr[x];
                answer = (char)(x+65);
            } else if (max == intArr[x]){
                answer = '?';
            }
        }

        System.out.println(answer);
    }
}

생각하기

  • BufferStream 생각해보기
  • Hashmap 사용 가능
  • 최대값 : Integer.MAX_VALUE, 최소값 : Integer.MIN_VALUE
profile
Go High

0개의 댓글

관련 채용 정보