https://www.acmicpc.net/problem/2476

그냥 의식의 흐름대로
이렇게 짰다.
n = int(input())
maxMoney = 0
for _ in range(n):
eye1, eye2, eye3 = map(int, input().split())
money = 0
if eye1 == eye2 and eye2 == eye3:
money = 10000 + eye1 * 1000
elif eye1 != eye2 and eye2 != eye3 and eye1 != eye3:
money = max(eye1, eye2, eye3) * 100
else:
if eye1 == eye2:
money = 1000 + eye1 * 100
elif eye1 == eye3:
money = 1000 + eye1 * 100
else:
money = 1000 + eye2 * 100
if money > maxMoney:
maxMoney = money
print(maxMoney)
그랬더니 정말 길고 복잡하고 비효율적인 코드를 짜버렸다. 어쨌든 굴러가긴 하는데.......
for문 안의 내용이 내 코드에 비해 훨씬 간단했다.
어떻게 그렇게 할 수 있었는지 살펴봤는데, 나는 세 수가 모두 같은 경우 -> 세 수가 모두 다른 경우 -> 두 수만 같은 경우의 순서로 조건을 나눴는데, 링크의 풀이에서는 세 수가 모두 같은 경우 -> 두 수만 같은 경우 -> 세 수가 모두 다른 경우로 조건을 나눴다. 이렇게 하면 세 수가 모두 다른 경우의 조건을 굳이 명시할 필요가 없어서 코드가 훨씬 더 간단해진다.
n = int(input())
winner = 0
for _ in range(n):
x, y, z = map(int, input().split())
if x == y and y == z:
money = 10000 + x * 1000
elif x == y or x == z:
money = 1000 + x * 100
elif y == z:
money = 1000 + y * 100
else:
money = max(x, y, z) * 100
if money > winner:
winner = money
print(winner)