[백준] 9046번 복호화 - Java, 자바
난이도
브론즈 1
문제
https://www.acmicpc.net/problem/9046
풀이
- 문자열을 입력받는다.
- 문자열을 반복문 돌려 문자하나하나 체크한다. 문자가 a~z이면 1차원 배열(result)에서 개수 카운트
- max값 구한다.
- max값과 일치하는 1차원 배열 원소가 있을 때, count 세주고, answer에 원소를 저장한다.
- count가 1이면 answer를 출력하고 아니라면 ?를 출력한다.
코드
package 문자열;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BOJ9046 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
while (n-- > 0) {
String input = br.readLine();
int[] result = new int[26];
for (int i = 0; i < input.length(); i++) {
if (input.charAt(i) >= 'a' && input.charAt(i) <= 'z') {
result[input.charAt(i) - 'a']++;
}
}
int max = 0;
for (int r : result) {
if (r > max) {
max = r;
}
}
int count = 0;
int answer = 0;
for (int j = 0; j < 26; j++) {
if (max == result[j]) {
count++;
answer = j;
}
}
System.out.println(count == 1 ? (char) (answer + 'a') : "?");
}
}
}
Author And Source
이 문제에 관하여([백준] 9046번 복호화 - Java, 자바), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kimmjieun/백준-9046번-복호화-Java-자바저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)