코딩/백준
[백준 1157번/문자열] 단어공부 - Java
조밈밍
2022. 3. 6. 12:14
해결
: 입력받은 문자열의 길이만큼 반복문을 돌며 사용된 알파벳을 카운트 시킨다
+ 아스키 코드 이용
=> A를 카운트 한다고 하면 배열에 arr['A'-65] 하면 A의 아스키코드는 65이므로 arr[0]에 카운트 되는것
import java.util.Scanner;
public class Main {
// 단어공부
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[26]; // 알파벳 공간
String s = sc.next();
for(int i=0; i<s.length(); i++) {
if(s.charAt(i)>=65 && s.charAt(i)<=90) { // 대문자
arr[s.charAt(i)-65]++;
}else {
arr[s.charAt(i)-97]++; // 소문자
}
}
int max = -1;
char answer = '?';
for(int j=0; j<arr.length; j++) {
if(max<arr[j]) {
max = arr[j];
answer = (char)(j+65); // 대문자로 출력
}else if(max == arr[j]) {
answer = '?';
}
}
System.out.println(answer);
}
}
공부
영어를 앞으로 밀거나, 비교하거나, 바꾸는 경우 => '아스키코드' 사용이 편리