본문 바로가기
Algorithm(알고리즘)/BOJ(백준) 문제풀이

백준 1157번 파이썬 풀이 | 단어 공부

by Jun_N 2020. 6. 22.

 

https://www.acmicpc.net/problem/1157

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net

 

<문제>

 

 

 

<문제 풀이>

여기서 사용한 방법은 upper / lower 와 collections의 Counter를 사용하였다.

 

먼저 소문자와 대문자를 구분없이 사용하기 위해 소문자,대문자 중 문제 예시를 보면 대문자로 통일되어 있으므로 upper()를 사용하였다.

문자에 .upper()를 사용하면 대문자로 바뀌게 된다.

 

두번째 사용한 것은 collections이다. 단어, 문자의 빈도수를 체크하기 위해 사용하는 방법이다.

각 문자 별로 몇번 count 됐는지를 확인한 후 max 값을 구해 key들을 저장한다. 만약 max가 2개 이상인 경우 ?를 출력하고 

1개면 그 key를 출력하면 된다.

 

 

<소스 코드>