개발바닥

BOJ_1157 [ 단어 공부 ] [ 파이썬 ] 본문

[ Algorithm ]/[ PYTHON ]

BOJ_1157 [ 단어 공부 ] [ 파이썬 ]

라이언 2020. 5. 15. 21:19
반응형

문제

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

 

1157번: 단어 공부

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

www.acmicpc.net

문제 해결 방법

 

collections 모듈에 Counter 함수를 사용해서 알파벳 카운트를 한 뒤 내림차순 정렬을 해서

첫번째 인덱스와 두번째 인덱스가 같으면 물음표를 출력하고

다르면 첫번째 인덱스 알파벳을 출력하면 된다.

 

소스 코드 보기

https://github.com/jokerKwu/BOJ_Algorithm/blob/master/python/BOJ_1157.py

 

jokerKwu/BOJ_Algorithm

Contribute to jokerKwu/BOJ_Algorithm development by creating an account on GitHub.

github.com

import collections

inStr = list(map(str, input().upper()))
cnt_arr = collections.Counter(inStr)
max_value = max(cnt_arr.values())
sorted(cnt_arr)
cnt = 0
answer = ''
for i in cnt_arr:
    if max_value == cnt_arr[i]:
        cnt += 1
        answer = i
        if cnt == 2:
            answer = '?'
            break
print(answer)
반응형
Comments