2019. 7. 26. 00:28
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
Posted by 아야카