https://www.acmicpc.net/problem/1157
문제 풀이 출처 https://st-lab.tistory.com/64
문제
답
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Array;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String word = br.readLine();
int[] arr = new int[26];
word = word.toUpperCase();
for (int i = 0; i<word.length(); i++) {
if ('A' <= word.charAt(i) && word.charAt(i) <= 'Z') {
arr[word.charAt(i) - 'A']++;
}
}
int max = -1;
char ch = '?';
for (int i = 0; i < 26; i++) {
if (arr[i] > max) {
max = arr[i];
ch = (char) (i + 65);
} else if (arr[i] == max) {
ch = '?';
}
}
System.out.print(ch);
}
}
이 문제를 풀면서 새롭게 알게 된 점
BufferReader를 이용하면 성능이 향상 된다.
int[] 배열을 이용해서 문자의 코드값을 다루는 방법
반응형