백준 9046: 복호화
풀이
테스트 횟수를 입력받은후 반복문을 실행
빈공백도 입력가능하기때문에 replace 메소드를 통한 공백을 없앤후 charAt()메서드를 통해 'a'는0으로 계산하여 배열에 ++ 최대값 중복시 count 변수를 ++ 해준뒤 count가 1보다 클시 "?" 출력 아니라면 최다 알파벳 출력
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = "";
int num = Integer.parseInt(br.readLine()); //테스트횟수를 입력받는다.
for (int h = 0; h < num; h++) {
str = br.readLine().replace(" ", ""); // " "알파벳만 따지기때문에 replace메소드를 이용하여 빈공간제거
int max = 0; // 최다 알파벳 인덱스번호 저장
int count = 0; // 최다 알파벳이 2개 이상일시 ++
int[] arr = new int[26];
for (int i = 0; i < str.length(); i++) {
arr[str.charAt(i) - 'a']++;
}
for (int j = 1; j < arr.length; j++) {
if (arr[max] < arr[j])
max = j;
}
for (int i = 0; i < arr.length; i++) {
if (arr[max] == arr[i])
count++;
}
char ch = (char) (max + 'a');
System.out.println(count > 1 ? "?" : ch);
}
}
}
Author And Source
이 문제에 관하여(백준 9046: 복호화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@code-_go/백준-9046-복호화저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)