문제 출처: https://www.acmicpc.net/problem/2476
Bronze 3
조건문을 일일이 걸었다. 근데 처음에는 끝에 두개는 같고 가운데만 다른 경우, 모두 다르다는 조건문을 자꾸 통과해서 괄호를 쳐서 우선순위를 뒀는데도 통과하지 못했다. 그래서 아예 else로 빼니깐 통과했다.
if __name__ == '__main__':
N = int(input())
max_money = 0
for _ in range(N):
a, b, c = map(int, input().split())
money = 0
if a == b == c:
money = 10000 + (a * 1000)
elif a == b != c:
money = 1000 + a * 100
elif b == c != a:
money = 1000 + b * 100
elif a == c != b:
money = 1000 + c * 100
else:
money = max(a, b, c) * 100
max_money = max(max_money, money)
print(max_money)
다른 풀이를 보니깐 이렇게 조건문을 다는 것이 아닌 Counter를 이용해서 구별가능한 풀이를 봤다.
from collections import Counter
N = int(input())
prize=[]
for n in range (N):
dice = list(map(int, input().split()))
cnt = Counter(dice)
if 3 in cnt.values():
prize.append(10000+1000*dice[0])
elif 2 in cnt.values():
for i in cnt.keys():
if cnt[i]==2:
prize.append(1000+100*i)
else:
prize.append(max(dice)*100)
print(max(prize))