Pythonic
[파이썬을 파이썬답게] 가장 많이 등장하는 알파벳 찾기
YGSEO
2021. 3. 8. 17:18
728x90
my dirty code with for x 2
from collections import Counter
my_str = input().strip()
c = Counter(my_str).most_common()
max_num = 0
for k, v in c:
if v > max_num:
max_num = v
res = ""
for k, v in c:
if v == max_num:
res+=k
print("".join(sorted(res)))
import collections
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 7, 9, 1, 2, 3, 3, 5, 2, 6, 8, 9, 0, 1, 1, 4, 7, 0]
answer = collections.Counter(my_list)
print(answer[1]) # = 4
print(answer[3]) # = 3
print(answer[100]) # = 0
print(answer)
# output
# 4
# 3
# 0
# Counter({1: 4, 2: 3, 3: 3, 7: 3, 4: 2, 5: 2, 6: 2, 8: 2, 9: 2, 0: 2})
answer의 key index에 찾고자 하는 수를 넣으면 해당 수(key)의 value를 return
100은 없으므로 0을 return
만약 아래코드 처럼 Counter 메서드말고 직접 dict을 만들어서 한다면
없는 숫자에 대해서는 error message를 raise하게 됨
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 7, 9, 1, 2, 3, 3, 5, 2, 6, 8, 9, 0, 1, 1, 4, 7, 0]
answer = {}
for number in my_list:
try:
answer[number] += 1
except KeyError:
answer[number] = 1
print(answer[1]) # = 4
print(answer[3]) # = 3
print(answer[100]) # = raise KeyError
728x90