728x90
반응형
문제
정답 풀이
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] arr = new int[26]; // 알파벳 개수 총 26개
char st = '?';
int max = -1;
String str = br.readLine().toUpperCase(); // 대문자로 전환하여 받음
for(int i = 0; i < str.length(); i++){
// A는 인덱스 0이므로 해당하는 10진수인 65를 빼준다.
// 아래 코드처럼 A를 뺴주어도 된다.
arr[str.charAt(i)-'A']++;
if(max<arr[str.charAt(i)-'A']) {
max = arr[str.charAt(i) - 'A'];
st = str.charAt(i);
}
else if(max==arr[str.charAt(i)-'A']) st='?';
}
System.out.print(st);
}
}
- 메모리 21064KB
- 시간 300ms
아스키코드 관련해서는 무지해서 구글링의 힘을 살짝 빌렸습니다.
해당 개념에 대해서만 알고 있다면 코드를 짜는 건 어렵지는 않았어요!
728x90
반응형
'Computer Science (CS) > 알고리즘' 카테고리의 다른 글
[백준/Java] 2941번 크로아티아 알파벳 (0) | 2023.05.11 |
---|---|
[백준/Java] 4344번 평균은 넘겠지 (0) | 2023.05.11 |
[백준/Java] 10988번 팰린드롬인지 확인하기 (0) | 2023.05.09 |
[백준/Java] 10812번 바구니 순서 바꾸기 (0) | 2023.05.07 |
[백준/Java] 2444번 별찍기 - 7 (0) | 2023.05.06 |