【 오늘의 목표 】
- 백준 1문제 풀기
백준 1문제 풀기
오늘 푼 백준 문제: 1157번 단어 공부 (https://www.acmicpc.net/problem/1157)
- 문제: 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
- 입력: 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
- 출력: 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.
【 해결한 코드 】
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
char[] arr = s.toCharArray();
for (int i = 0; i < arr.length; i++) {
if (arr[i] >= 97 && arr[i] <= 122) {
arr[i] = (char)(arr[i] - 32);
}
}
int[] al = new int[26];
for (int i = 0; i < arr.length; i++) {
al[arr[i]-65]++;
}
int max = 0;
boolean same = false;
for (int i = 0; i < al.length-1; i++) {
for (int j = i+1; j < al.length; j++) {
if (al[i] < al[j] && al[max] < al[j]) {
max = j;
} else if (al[j] < al[i] && al[max] < al[i]) {
max = i;
}
}
}
for (int i = 0; i < al.length-1; i++) {
for (int j = i+1; j < al.length; j++) {
if (al[i] == al[j] && al[i] != 0 && al[max] <= al[i]) {
same = true;
}
}
}
if(!same) {
System.out.println((char)(max+65));
} else {
System.out.println("?");
}
}
}
'2024 하계 모각코' 카테고리의 다른 글
[0818] 모각코 회고록 (0) | 2024.08.19 |
---|---|
[0804] 모각코 #5 (0) | 2024.08.04 |
[0721] 모각코 #3 (0) | 2024.07.21 |
[0714] 모각코 #2 (0) | 2024.07.14 |
※ 하계 모각코 - 방학 목표 ※ (0) | 2024.07.07 |