자바알고리즘 - 문자열 - 백준 1157 단어 공부
문제
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
생각
1. 입력받을 때 대문자건 소문자건 -97과 -65 아스키 코드를 이용해서 알파벳순으로 저장해 놓는다.
2. 저장해놓은 배열을 이용하여 26번까지 순회하며 max값을 찾는다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int[] arr = new int[26]; //영어 개수
String str = bf.readLine();
for(int i=0; i<str.length();i++) {
if(str.charAt(i)>='a' && str.charAt(i)<='z') {
arr[str.charAt(i) - 97]= arr[str.charAt(i) - 97]+1; //소문자면 char계산을 통해 해당 문자 +1
}
else {
arr[str.charAt(i)-65] = arr[str.charAt(i)-65]+1; //대문자면 char계산을 통해 해당 문자+1
}
}
int max=0;
char ch = '?';
for(int i=0; i<26; i++) {
if(arr[i]>max) {
max = arr[i];
ch = (char)(i+65); //대문자로변경
}
else if(arr[i]==max) {
ch='?';
}
}
System.out.println(ch);
}
}
'알고리즘 > 입출력,문자열' 카테고리의 다른 글
자바알고리즘 - 문자열 - 백준 1316 그룹 단어 체커 (0) | 2024.10.11 |
---|---|
자바알고리즘 - 문자열 - 백준 2941 크로아티아 알파벳 (0) | 2024.10.11 |
자바알고리즘 - 문자열 - 백준 11718 그대로 출력하기 (0) | 2024.10.08 |
자바알고리즘 - 문자열 - 백준 5622 다이얼 (2) | 2024.10.08 |
자바알고리즘 - 문자열 - 백준 2908 상수 (0) | 2024.10.08 |