반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 1157번 단어 공부 자바(Java)
1) 문제번호 : 1157번
2) 문제 출처
2. 문제
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
3. 제약사항
-
4. 입력
첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
5. 출력
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.
6. 풀이
- 출력값이 결국엔 대문자로 출력하면 되므로, 입력값을 대문자로 받아서 카운트를 센 다음에, 카운트가 가장 큰 알파벳을 출력한다.
- 빈도수가 같은 배열값이 있으면 st는 다시 ?로 정의하여 출력한다.
7. 소스 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[26]; //알파벳 개수만큼 배열 선언
//대문자로 출력하면 되니까, 대문자로 입력받기
String a = sc.next().toUpperCase();
int max = -1;
char st = '?';
for(int i=0;i<a.length();i++) {
arr[a.charAt(i)-65]++;
if(max<arr[a.charAt(i)-65]) {
max = arr[a.charAt(i)-65];
st = a.charAt(i);
}
else if(max==arr[a.charAt(i)-65]) st = '?';
}
System.out.println(st);
}
}
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 2667번 단지번호붙이기 자바(Java) (0) | 2021.02.17 |
---|---|
[백준 알고리즘] 백준 4963번 섬의 개수 자바(Java) (0) | 2021.02.17 |
[백준 알고리즘] 백준 1931번 회의실 배정 자바(Java) (0) | 2021.02.16 |
[백준 알고리즘] 백준 15649번 N과 M(1) 자바(Java) (0) | 2021.02.15 |
[백준 알고리즘] 백준 2675번 문자열 반복 자바(Java) (0) | 2021.02.15 |
[백준 알고리즘] 백준 5339번 콜센터 자바(Java) (0) | 2021.02.15 |
[백준 알고리즘] 백준 5338번 마이크로소프트 로고 자바(Java) (0) | 2021.02.15 |
[백준 알고리즘] 백준 1166번 선물 자바(Java) (0) | 2021.02.13 |
최근댓글