BOJ
백준 파이썬 2480 주사위 세 개
Coding_SJ
2020. 3. 16. 17:20
나의 노가다풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
a,b,c = map(int,input().split())
if a==b==c:
print(10000 + a*1000)
elif a!=b==c:
print(1000+b*100)
elif a==b!=c:
print(1000+a*100)
elif a==c!=b:
print(1000+a*100)
elif a>b and a>c:
print(a*100)
elif b>a and b>c:
print(b*100)
elif c>b and c>a:
print(c*100)
|
cs |
반면 비교적 깔끔한 풀이
1
2
3
4
5
6
7
8
9
10
11
12
|
A,B,C = map(int,input().split())
if A==B==C:
print(10000+A*1000)
elif A==B:
print(1000+A*100)
elif B==C:
print(1000+B*100)
elif A==C:
print(1000+C*100)
else:
print(100*max(A,B,C))
|
cs |
두 풀이를 비교해보자면, 두번쨰 풀이에서 elif A==B하고나서 !=C를 왜 안해도 되느냐?
위에 A==B==C에서 모두가 같은 경우는 이미 걸러졌기 때문이다. 코딩은 항상 위에서 아래로 읽어내려가기 때문에.
if elif 두개 거르고나면 모두가 다른 경우만 남고, else에 전부 포함되니까
max함수써서 세 수 중에 가장 큰거 선택하면 된다.