[Bronze IV]
https://www.acmicpc.net/problem/2480
기존 코드
#각 주사위 숫자 추출
a, b, c = map(int, input().split())
#3개 일치하는 경우
if a==b==c:
print(10000+a*1000)
#2개 일치하는 경우
elif a==b or a==c:
print(1000+a*100)
elif b==c:
print(1000+b*100)
#1개 일치하는 경우
else:
print(max(a,b,c)*100)
🔧 Refactoring
1) collection
from collections import Counter
# 각 주사위 숫자 추출
dice_list = list(map(int, input().split()))
# 주사위 숫자의 빈도 계산
dice_counter = Counter(dice_list)
# 가장 높은 빈도를 가진 숫자 찾기
max_frequency = max(dice_counter.values())
# 3개 일치하는 경우
if max_frequency == 3:
same_number = max(dice_counter, key=dice_counter.get)
print(10000 + same_number * 1000)
# 2개 일치하는 경우
elif max_frequency == 2:
same_number = max(dice_counter, key=dice_counter.get)
print(1000 + same_number * 100)
# 1개 일치하는 경우
else:
print(max(dice_list) * 100)
'백준' 카테고리의 다른 글
[백준-python] 알고리즘의 수행 시간 2,4,6번 (0) | 2024.05.31 |
---|---|
[백준-Python] 서로 다른 부분 문자열의 개수 : 11478번 (0) | 2024.05.30 |
[백준-Python] 단어 공부 : 1157번 (0) | 2024.05.30 |
[백준-Python] 올림픽 : 8979번 (0) | 2024.05.29 |
[백준-Python] 분수찾기 : 1193번 (0) | 2024.05.29 |