728x90
문제 번호: 1157
문제 제목: 단어 공부
문제 주소: https://www.acmicpc.net/problem/1157
문제 내용
문자열이 주어졌을 때 문자열 내에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 집계에 대소문자는 구분하지 않는다.
테스트 케이스
Mississipi |
? |
zZa |
Z |
z |
Z |
baaa |
A |
bbaa | ? |
문제 풀이
대소문자 구분없이 문자를 확인하는 문제다.
0. 문자열 입력 배열, 알파벳 인덱스 배열, int max, char result를 선언한다.
> 입력받는 문자의 수가 최대 100만개이므로 인덱스 배열의 자료형은 최소 int인 것이 좋다.
1. 문자열을 입력 받는다.
2. 문자열에 있는 알파벳을 집계한다.
> 문자가 A~Z인 경우에는 'A'를 뺀 인덱스에 ++을, a~z인 경우에는 'a'를 뺀 인덱스 ++을 한다.
3. 집계가 완료되면 가장 많이 사용된 알파벳을 찾는다.
> max보다 값이 크면 해당 값을 max로 등록하고 result를 해당 알파벳으로 등록한다.
> max와 동일한 값인 경우 result를 ?로 등록한다.
4. 결과를 출력한다.
풀이 코드
728x90
'공부 > 문제풀기' 카테고리의 다른 글
백준 2908 - 상수 (0) | 2019.07.26 |
---|---|
백준 1152 - 단어의 개수 (0) | 2019.07.26 |
백준 2675 - 문자열 반복 (0) | 2019.07.24 |
백준 10809 - 알파벳 찾기 (0) | 2019.07.24 |
백준 11720 - 숫자의 합 (0) | 2019.07.24 |