티스토리 뷰

<문제 링크>

 

1157번: 단어 공부

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

www.acmicpc.net

 

<문제 풀이>

 

word = input().upper()
alphabet = list(set(word))
count_list = [word.count(i) for i in alphabet]

if count_list.count(max(count_list)) > 1:
    print('?')
else:
    print(alphabet[count_list.index(max(count_list))])

1157 입출력 예시

*key point: 대소문자를 구분하지 않는다는 조건이 있기 때문에 upper 메소드를 이용하여 모든 알파벳을 대문자로 변환하였다. set, list 함수를 이용해 주어진 단어에 있는 알파벳을 가지는 새로운 리스트를 생성하고, 이를 활용하여 기존 단어에 있는 각 알파벳의 수를 센다. 이 때 같은 개수이면 ?를 출력하도록 조건문을 작성한다. count_list의 경우 for문으로 작성해본 뒤 list comprehesion으로 더 간단히 작성 가능하여 수정하였다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함