곽로그
[백준 1157] 단어공부 - 다시 본문
반응형
1. 문제
2. 코드
1) 처음 푼 풀이
import java.util.Scanner;
public class Main {
public static int findMax(int[] array) {
int max = 0;
for(int i=0; i<array.length;i++) {
if(array[i]>=max) {
max = array[i];
}
}
return max;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String word = in.next();
int[] countLetter = new int[26];
//문자열을 모두 대문자로 변환
word=word.toUpperCase();
//알파벳을 배열의 index에 대응하기 위해 대문자 알파벳의 아스키 코드에서 65를 뺀다
for(int i=0;i<word.length();i++) {
int letterIndex = (int)word.charAt(i) -65;
countLetter[letterIndex] ++;
}
//max값을 찾은 후, 한번 더 순회하여 max값이 2개 이상이면 ?를 출력하고
// 아닌경우에는 최댓값이 있는 배열의 인덱스에 +65를 하여 char로 출력한다.
int max = findMax(countLetter);
int index =0;
int countMax =0;
for(int i= 0; i<countLetter.length;i++) {
if(countLetter[i]==max) {
index = i;
countMax++;
}
}
if(countMax>1) {
System.out.println("?");
}
else {
System.out.println((char)(index+65));
}
}
}
2. 조건문을 하나로
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 2231 자바] 분해합 (0) | 2020.03.03 |
---|---|
[백준 7568] 덩치 (0) | 2020.03.02 |
[백준 2675] 문자열 반복 (0) | 2020.03.01 |
[백준 11729] 하노이의 탑 (0) | 2020.02.26 |
[백준 2477] 별찍기 -10 (0) | 2020.02.26 |
Comments