자바/문제풀이
[JAVA | 백준 1157 ] 단어 공부
서이서
2022. 5. 28. 23:07
문제 해석
- 알파벳 대소문자로 된 단어 입력
- 가장 많이 사용된 알파벳 알아내기
- 대소문자 구분 없음
출력
- 가장 많이 사용된 알파벳을 대문자로 출력
- 가장 많이 사용된 알파벳이 여러개인 경우 ? 출력
내가 생각한 알고리즘
- 스캐너로 단어 입력
- 알파벳 개수만큼의 리스트 만들어서 FOR문으로 각 개수 저장
- 리스트에서 MAX 값 출력
- MAX값이 여러개인 경우 ? 출력
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++){
//대문자범위 65~90
if('A'<= s.charAt(i)&& s.charAt(i)<='Z'){
arr[s.charAt(i)-'A']++;
}
//소문자범위 97~122
else{
arr[s.charAt(i)-'a']++;
}
}
//최대값 출력
int max=-1;
char ch = '?';
for(int i=0; i<26; i++){
if(max<arr[i]){
max = arr[i];
ch = (char)(i+65);
}
else if (arr[i]==max)
ch = '?';
}
System.out.println(ch);
}
}