a,b,c=map(int,input().split())
list=[]
list.append(a)
list.append(b)
list.append(c)
list.sort()
if a==b and b==c:
print(10000+a*1000)
elif a==b and b!=c:
print(1000+a*100)
elif a==c and a!=b:
print(1000+a*100)
elif b==c and b!=a:
print(1000+b*100)
else:
print(int(list[2])*100)
처음에는 이렇게 풀었다.
푼 코드를 다시 보며 생각해보니 문제에서의 키워드는 "중복"인 것 같았다. 중복과 관련된 함수는 set함수이므로 set함수를 이용해 다시 작성해 보았다.
list = list(map(int, input().split()))
if len(set(list))==1:
print(list[0]*1000+10000)
elif len(set(list))==2:
print(sorted(list)[1]*100+1000) #정렬 후 두번 째 값은 항상 중복된 값
else:
print(max(list)*100)
다시보면 처음 코드는 너무 의식의 흐름대로 작성해 길어진 것 같다.
생각해보니 list에 int 형태로 원소를 넣어줬기 때문에 처음 풀이 마지막 줄에서 굳이 int로 변환해주지 않아도 되겠다.
문제 : https://www.acmicpc.net/problem/2480
2480번: 주사위 세개
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개
www.acmicpc.net
'Baekjoon > python' 카테고리의 다른 글
[백준 10950번] A+B - 3 (0) | 2022.04.20 |
---|---|
[백준 2739번] 구구단 (0) | 2022.04.19 |
[백준 2525번] 오븐 시계 (0) | 2022.04.15 |
[백준 2884번] 알람 시계 (0) | 2022.04.14 |
[백준 14681번] 사분면 고르기 (0) | 2022.04.13 |