알고리즘 문제 풀이: 파이썬/BOJ

[BOJ_1157] 단어공부

hueco 2021. 7. 1.

문제 링크: https://www.acmicpc.net/problem/1157

 

1157번: 단어 공부

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

www.acmicpc.net

내 풀이:

Review:

 구현의 아이디어는 어렵지 않은 문제였다. 딕셔너리의 value가 최대일때 key를 추출하는 리스트 컴프리헨션 부분만 구현할 수 있다면 정말 쉬운 문제이다.

 

Idea:

 입력값으로 주어진 문자열을 대문자로 변환하고, for 반복문을 사용해 원소를 하나씩 읽는다. 원소가 미리 선언한 딕셔너리에 존재한다면 value를 1 증가시키고, 그렇지 않다면 알파벳을 key로 value는 1로 하여 딕셔너리에 추가한다.

반복문이 종료되고 리스트 컴프리헨션을 사용해 딕셔너리의 value 값중의 최대값의 value와 일치하는 key를 리스트에 추가한다. 해당 리스트의 원소가 1보다 크다면, 가장 많이 사용된 알파벳이 여러개라는 의미이므로 '?'를 출력하고, 그렇지 않다면 리스트의 유일한 원소를 출력한다.

 

'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글

[BOJ_1316] 그룹단어 체크  (0) 2021.07.01
[BOJ_10773] 제로  (0) 2021.07.01
[BOJ_2292] 벌집  (0) 2021.06.09
[BOJ_2752] 세수정렬  (0) 2021.04.11
[BOJ_27530] 윤년  (0) 2021.04.11

댓글