728x90
반응형
입력 3개를 리스트에 넣고 그것들을 비교하면서 연산하면 될 것이라고 생각했다.
if 조건문을 엄청 많이 사용했다.
a=list(map(int,input().split()))
if a[0]==a[1]==a[2]:
print(10000+a[0]*1000)
elif a[0]==a[1]:
print(1000+a[1]*100)
elif a[1]==a[2]:
print(1000+a[1]*100)
elif a[0]==a[2]:
print(1000+a[0]*100)
else:
print(max(a)*100)
다 만들고 다른 사람들이 작성한 코드 중, set()를 이용해서 작성한 것을 보았다.
set는 list와 비슷하지만 중복을 허용하지 않는다. set를 이용하면 아주 간결하게 작성이 가능하다.
1. list에 입력 3개를 넣는다.
2. list를 정렬한다.
3. 정렬한 list를 set로 변환한다.
4. set의 길이를 len 함수를 이용해 반환한다.
길이가 1이면 3개의 입력이 모두 동일, 3이면 3개의 입력이 모두 틀림,
5. 만약 길이가 2면 동일한 값에 계산이 들어가야 하는데 동일한 입력은 항상 2번째에 위치하기 때문에 계산이 쉬워진다.
a=list(map(int,input().split()))
a.sort()
aset=set(a)
if len(aset)==1:
print(10000+a[0]*1000)
elif len(aset)==3:
print(a[2]*100)
else:
print(1000+a[1]*100)
728x90
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
백준 2755 파이썬 (0) | 2022.01.20 |
---|---|
백준 9093 파이썬 (0) | 2022.01.19 |
백준 1110 파이썬 (0) | 2022.01.18 |
백준 2530 파이썬 (0) | 2022.01.16 |
백준 5532 파이썬 (0) | 2022.01.16 |
댓글