알고리즘
[Java] 백준 1157번 단어 공부
Y1sik
2022. 3. 24. 09:53
728x90
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
이번 문제는 대문자 소문자 상관없이 알파벳 갯수를 구하는 문제입니다.
범위를 잘 정해주기만 한다면 쉽게 풀릴것입니다.
package BJ;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BJ_단어공부 {
static String str;
static int[] arr;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
str = br.readLine();
arr = new int[26];
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if('A' <= str.charAt(i) && str.charAt(i) <= 'Z') {
arr[c - 'A']++;
}else {
arr[c - 'a']++;
}
}
int max = 0;
char ch = '?';
for (int i = 0; i < 26; i++) {
if(arr[i] > max) {
max = arr[i];
ch = (char) (i + 'A');
}
else if (arr[i] == max) {
ch = '?';
}
}
System.out.println(ch);
}
}
Ysik Github : https://github.com/Y1sik/Algorithm/blob/main/BJ/BJ_%EB%8B%A8%EC%96%B4%EA%B3%B5%EB%B6%80.java
반응형