728x90
반응형
나의 답변
a,b,c = map(int,input().split())
dice = [a,b,c]
length = len(set(dice))
if length ==1 :
print(a*1000 + 10000)
# index 함수로 해당 숫자가 해당 인덱스 말고도 다른 인덱스에 존재한다면, list에 int형 자료로 추가
elif length ==2 :
x = [int(x) for i,x in enumerate(dice) if i !=dice.index(x)]
print(int(x[0])*100 + 1000)
else:
print(max(dice)*100)
list 내에서 반복문을 사용하는 코드는 굉장히 유용해서 한번 알아두면 자주 쓸 수 있다.
또한, enumerate 함수를 이용하여 index와 해당 index 값에 한번에 접근할 수 있다.
다른 사람 답변
a, b, c = map(int, input().split())
if a == b == c:
print(10000+a*1000)
elif a == b:
print(1000+a*100)
elif a == c:
print(1000+a*100)
elif b == c:
print(1000+b*100)
else:
print(100 * max(a,b,c))
# 다른 답변 2
a,b,c=map(int,input().split())
if a==b==c:
print(10000+a*1000)
elif a==b or b==c:
print(1000+b*100)
elif a==c:
print(1000+a*100)
else:
print(max(a,b,c)*100)
코드 길이는 내 답변이 더 짧았지만, 이 코드는 내가 보기엔 가독성이 좋아서 코드 이해하는 데에 더 좋을 것 같았다.
Simple is best.
간단하게 접근하는 것도 좋은 방법인 것 같다.
728x90
반응형
'학부 > 코딩테스트 준비' 카테고리의 다른 글
백준 (단계별 풀어보기 3단계) 2439 문제, 파이썬 (0) | 2023.09.21 |
---|---|
백준 (단계별 풀어보기 3단계) 8393문제, 파이썬 (0) | 2023.09.20 |
백준 (단계별 풀어보기 2단계) 2525문제, 파이썬 (0) | 2023.09.17 |
백준 (단계별 풀어보기 2단계) 2753 문제, 파이썬 (0) | 2023.09.16 |
코딩 테스트 준비 (0) | 2023.09.16 |