728x90
⭐ 문제
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.
⭐ 코드 분석
- set ( 집합 )
s1 = set([1,2,3])
print(s1)
# result : {1,2,3}
가장 많이 나온 문자열 횟수를 카운트 하여 숫자 인덱스 값으로 철자를 찾아 출력
⭐ 코드
words = input().upper()
unique_words = list(set(words)) # 입력 받은 문자를 리스트에 저장
cnt_list = []
for x in unique_words:
cnt = words.count(x)
cnt_list.append(cnt) # words 중에서 가장 많이 나온 숫자를 넣음
if cnt_list.count(max(cnt_list)) > 1 : # count 숫자 최대 값이 중복 되면 ? 출력
print('?')
else:
max_index = cnt_list.index(max(cnt_list)) # count 숫자 최대값 인덱스(위치)
print(unique_words[max_index])
'Python > 백준' 카테고리의 다른 글
[python/백준] 2292번: 벌집 (0) | 2024.01.13 |
---|---|
[python/백준] 5073번: 삼각형과 세 변 (0) | 2024.01.13 |
[python/백준] 18185번: 라면사기 (small) (0) | 2023.11.28 |
[python/백준] 1956번: 운동 (0) | 2023.11.28 |
[python/백준] 2749번: 피보나치 수 3 (0) | 2023.11.26 |