⌨️ Algorithms/백준
[Python] 백준 1157번_단어 공부
monzheld
2022. 7. 19. 22:31
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
s = input().upper() # 문자열을 모두 대문자로 변경
unique_s = list(set(s)) # 문자열에서 중복값 제거
cnt_list = [] # 문자별 등장 횟수
for i in unique_s:
s_cnt = s.count(i) # count()로 문자별 등장 횟수 계산
cnt_list.append(s_cnt) # cnt_list에 등장 횟수 넣기
if cnt_list.count(max(cnt_list)) > 1: # 가장 많이 사용된 알파벳이 여러 개 존재하는 경우
print('?')
else:
max_idx = cnt_list.index(max(cnt_list)) # 가장 많이 등장한 알파벳의 인덱스
print(unique_s[max_idx])
가장 많이 사용된 알파벳이 여러 개 존재하는 경우를 찾기 위해 'cnt_list.count(max(cnt_list)) > 1'을 사용하려면
입력받은 문자열을 set()으로 중복 값을 제거해야 됨
- set()
- 리스트처럼 단일 요소 값 출력 불가
- list(set()) <- 리스트로 감싸주면 단일 요소 값 출력 가능