https://www.acmicpc.net/problem/2621
from collections import Counter
info = []
for i in range(5):
color, num = map(str, input().split())
info.append([color, int(num)])
info .sort(key=lambda x: x[1])
print(info)
num1 = info[0][1]
num2 = info[1][1]
num3 = info[2][1]
num4 = info[3][1]
num5 = info[4][1]
m = max(num1, num2, num3, num4, num5)
if (info[0][0] == info[1][0] == info[2][0] == info[3][0] == info[4][0]) and (abs(num3 - num1) == 2 and abs(num3 - num2) == 1 and abs(num3 - num4) == 1 and abs(num3 - num5) == 2):
# 1
# print('one')
print(m + 900)
else:
nums_arr = [num1, num2, num3, num4, num5]
dic = Counter(nums_arr)
arr = list(dic.items())
arr.sort(key=lambda x: -x[1])
# print(arr)
if arr[0][1] >= 4:
# 2
# print('two')
print(arr[0][0] + 800)
elif arr[0][1] == 3 and arr[1][1] == 2:
# 3
# print('three')
print((arr[0][0] * 10) + arr[1][0] + 700)
elif info[0][0] == info[1][0] == info[2][0] == info[3][0] == info[4][0]:
# 4
# print('four')
print(m + 600)
elif abs(num3 - num1) == 2 and abs(num3 - num2) == 1 and abs(num3 - num4) == 1 and abs(num3 - num5) == 2:
# 5
# print('five')
print(m + 500)
elif arr[0][1] == 3:
# 6
# print('six')
print(arr[0][0] + 400)
elif arr[0][1] == 2 and arr[1][1] == 2:
# 7
seven_m = max(arr[0][0], arr[1][0])
seven_min = min(arr[0][0], arr[1][0])
# print('seven')
print((seven_m * 10) + seven_min + 300)
elif arr[0][1] == 2:
# 8
# print('eight')
print(arr[0][0] + 200)
else:
# 9
# print('nine')
print(m + 100)
단순한 구현 문제였다.
'알고리즘' 카테고리의 다른 글
파이썬) 게임을 만든 동준이 - BOJ (0) | 2023.11.06 |
---|---|
파이썬) 0 만들기 - BOJ (0) | 2023.11.06 |
파이썬) 암호 만들기 - BOJ (0) | 2023.11.06 |
파이썬) 퇴사 -BOJ (0) | 2023.08.18 |
파이썬)A -> B -BOJ (0) | 2023.08.13 |