반응형
https://www.acmicpc.net/problem/2480
이 문제는 if 조건문과 관련된 문제다.
https://solution-is-here.tistory.com/101
이 글을 보면 더 쉽게 이해할 수가 있다!
문제를 보고 코드를 어떻게 짜야 잘 작동할지 생각할 수 있어야 한다.
그러기 위해선 먼저 문제에 있는 조건을 봐야 한다.
문제에는 총 3개의 조건이 있다. 코드를 보면서 하나씩 설명하겠다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
a,b,c = map(int,input().split())
if(a == b and b == c and c == a):
a = 10000 + a * 1000
print(a)
elif(a == b and b != c):
a = 1000 + a * 100
print(a)
elif(a != b and b == c):
b = 1000 + b * 100
print(b)
elif(a == c and a != b):
c = 1000 + c * 100
print(c)
elif(a != b and b != c and c != a):
if(a > b and a > c):
max = a
if(a < b and b > c):
max = b
if(c > a and c > b):
max = c
print(max*100)
|
cs |
1번째 줄
map 함수에 대해 잘 모르시는 분들은 밑에 있는 글을 보고 오셔야 합니다!
https://solution-is-here.tistory.com/99?category=1041490
4~6번째 줄
우선 문제의 첫 번째 조건이 같은 눈이 3개 나오는 것이므로 if 절의 조건문을 3개가 모두 같을때로 설정했다.
그 후 어차피 3개의 숫자가 모두 같으므로 a를 이용해 문제의 첫번째 조건문의 명령문을 실행했다.
7 ~ 15번째 줄
솔직히 이 문제는 더 쉽게 더 간단하게 풀 수 있었다.
하지만 elif를 사용해서 풀고 싶었으므로 숫자 두 개가 겹치는 경우를 3가지로 나눠서 설정했다.
그 후 겹치는 숫자를 이용해 문제의 두 번째 조건문의 명령문을 실행했다.
16 ~ 23번째 줄
숫자가 모두 다를 때는 가장 큰 수를 이용해 명령문을 실행시켜야 하므로 if 조건문을 이용해 숫자 3개 중 가장 큰 수를 찾았다. 그 후 문제의 세 번째 조건문의 명령문을 실행했다.
반응형