반응형
문제
https://www.acmicpc.net/problem/1157
코드
word = input().upper()
wordli = list(set(word))
cnt = []
for i in wordli:
count = word.count
cnt.append(count(i))
if cnt.count(max(cnt)) > 1:
print("?")
else:
print(wordli[cnt.index(max(cnt))])
설명
우선 단어를 입력받아야 하는데 대소문자의 구분이 없다고 했으므로,
upper(대문자) 혹은 lower(소문자)를 통해서 하나의 문자로 통일시켜 준다.
이후 카운트를 하기 위해 중복을 제거한 문자 리스트를 하나 만들건데,
set을 통해서 중복이 없는 리스트로 생성이 가능하다.
cnt라는 카운트를 저장할 빈 리스트를 하나 만들어 주고,
카운트를 위한 반복문을 생성한다.
count 함수를 통해서 각 문자의 개수를 세주고 이를 cnt리스트에 넣어준다.
cnt의 max 값이 여러개이면 ?를 출력,
그렇지 않은 경우에는 index를 통해서 가장 많이 나온 문자를 출력한다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 2908: 상수 (0) | 2022.12.05 |
---|---|
[파이썬, Python] 백준 1152: 단어의 개수 (0) | 2022.12.04 |
[파이썬, Python] 백준 2675: 문자열 반복 (0) | 2022.12.02 |
[파이썬, Python] 백준 10809: 알파벳 찾기 (0) | 2022.12.01 |
[파이썬, Python] 백준 11720: 숫자의 합 (0) | 2022.11.30 |