https://www.acmicpc.net/problem/1157
package algorithm;
import java.util.Scanner;
public class mar07 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s=new Scanner(System.in);
int arr[]=new int[26];
String word=s.next();
// 단어에 사용된 알파벳 개수 체크
for(int i=0;i<word.length();i++) {
int alphabet=word.charAt(i);
if(alphabet>=93) {
arr[alphabet-97]+=1;
}else {
arr[alphabet-65]+=1;
}
}
// 제일 많이 사용된 알파벳 확인
int max=0;
char result=' ';
for(int i=0;i<26;i++) {
if(arr[i]>max) {
max=arr[i];
result=(char)(i+65);
}else if(arr[i]==max) {
//만약 가장 많이 사용된 알파벳이 2개 이상이면 '?' 출력
result='?';
}
}
System.out.print(result);
}
}
아스키코드에서 A가 65라는 사실 까먹고 그냥 i를 넣고 변환하다가 왜 이상하게 깨지는 현상 생기지 하고 고민하다가 65를 더하지 않은 사실을 깨달았다.
'JAVA' 카테고리의 다른 글
[백준/자바] 1427번 소트인사이드 (0) | 2022.03.10 |
---|---|
[백준/자바] 1316번 그룹 단어 체커 (0) | 2022.03.08 |
[백준/자바] 1343번 폴리오미노 (0) | 2022.02.22 |
[백준/자바] 18228번 펭귄추락대책위원회 (0) | 2022.02.21 |
[백준/자바] 22864번 피로도 (0) | 2022.02.20 |
댓글