ALGORITHM
백준 1157 단어 공부 (Java)
공부하는_다온
2023. 1. 27. 22:50
1. 문제 링크
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
2. 문제 및 입출력예제
3. 문제 풀이
출력조건이 대문자라서 toUpperCase()를 이용해 전부 대문자로 만든다.
split이 아닌 charAt()을 이용해 한 글자씩 뽑아서 아스키코드의 알파벳으로 바꾸고
반복문을 돌리며 카운트를 한다.
4. 코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String str= br.readLine();
str = str.toUpperCase();
int[] num = new int[26];
for(int i=0;i<str.length();i++) {
num[str.charAt(i)-65]++;
}
int max = 0;
int maxI = 0;
boolean flag = true;
for(int i=0;i<num.length;i++) {
if(num[i]>max) {
max = num[i];
maxI = i;
flag = true;
}
else if(num[i]==max) {
flag = false;
}
}
if(flag) {
System.out.println((char)(maxI+65));
}
else {
System.out.println("?");
}
}
}