컴공댕이 공부일지
[java] 백준 ( 1157 단어공부 ) 아스키 코드 활용 본문
728x90
단어 공부 1157
브론즈1
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
정답코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String w = s.nextLine();
int l = w.length();
int a[] = new int[26];
for(int i=0; i<l; i++) { //배열 인덱스 0~25에 A~Z까지에 넣기
if(w.charAt(i)>=65 && w.charAt(i)<=90) {
a[w.charAt(i)-65] ++;
} else {
a[w.charAt(i)-97] ++;
}
}
int maxIndex = 0;
int count = 0;
int maxCount = 0;
for(int i=0; i<26; i++) { //횟수 제일 많은 인덱스 찾기
if(a[i]>count) {
maxIndex=i;
count=a[i];
}
}
for(int i=0; i<26; i++) { //가장 많은 횟수가 몇 번이나 겹치는지
if(a[i]==count) {
maxCount++;
}
if(maxCount>=2) { //2개 이상 겹치면 바로 ? 출력 후 반복문 빠져나와.
System.out.println("?");
break;
}
}
if(maxCount<2) { //겹치지 않는다면 바로 출력
System.out.println((char)(maxIndex+65));
}
}
}
728x90
'문제 풀이 > 코딩 문제 풀이 모음' 카테고리의 다른 글
[java] 백준 ( 2292 벌집 ) (0) | 2023.04.28 |
---|---|
[java] 백준 ( 2869 달팽이는 올라가고 싶다 ) (0) | 2023.04.18 |
[java] 백준 ( 10950, 10951, 10952 A+B ) ★EOP (0) | 2023.04.06 |
[java] 백준 ( 2477 참외밭 ) 💥💦 (0) | 2023.04.05 |
[java] 백준 ( 13458 시험 감독 ) (0) | 2023.03.30 |
Comments