dice1, dice2, dice3 = map(int,input().split())
if dice1==dice2==dice3:
print(10000 +dice1 *1000)
elif dice1==dice2 or dice1 == dice3 or dice2 == dice3:
same_number = dice1 if dice1 == dice2 or dice1 == dice3 else dice2
prize = 1000 + same_number * 100
print(prize)
else:
print(max(dice1, dice2, dice3)*100)
같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.
같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.
모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.
🤔 문제 풀이
- dice1, dice2, dice3 = map(int,input().split())
- 주사위 세 개를 받아낼 겁니다
- if dice1==dice2==dice3:
print(10000 +dice1 *1000)- 주사위 세 개가 모두 같은 숫자를 띄울 때를 시작으로 조건문을 시작했습니다
- elif dice1==dice2 or dice1 == dice3 or dice2 == dice3:
same_number = dice1 if dice1 == dice2 or dice1 == dice3 else dice2
prize = 1000 + same_number * 100
print(prize)- 주사위 두 개가 같을 때의 조건문입니다
- dice1&dice2 , dice1&dice3 , dice2&dice3이 주사위 두 개가 같을 때죠
- same_number = dice1 if dice1 == dice2 or dice1 == dice3
- dice1이 다른 dice2,3과 같을 때 dice1을 주어로 내세우겠다는 거예요
- else dice2
- 그 외에는 dice2를 주어로 하겠다는 거죠
- else:
print(max(dice1, dice2, dice3)*100)- 나머지는 주사위 세 개 모두 다를 때 max() 함수를 써서 최댓값으로 곱해주었습니다.
#1트
dice1, dice2, dice3 = map(int,input().split())
dice = [dice1, dice2, dice3]
prize_same3 = 10000 +dice *1000 # 뭐가 같은 숫자인지 어케 판별하냐 이거
prize_same2 = 1000 +dice *100
nothing_same_prize = max(dice)*100
if dice1==dice2==dice3: # 주사위 모두 같은 숫자일 때
print(prize_same3)
elif :
print(prize_same2)
첫 번째로 시도한 코드들인데, 저 많이 성장한 게 보이지 않나요?
문제 보자마자 우르르 쓴 게 신기했어요
원래 하얀 백지에 선뜻 손 올리기가 어렵잖아요, 하지만 저는 얼마든지 더럽히는 거엔 서슴없거든요
근데 뭘 알아야 더럽히죠 ㅋㅋㅋ,,
이제는 어느 정도 마음껏 더럽힐 수 있어요!
하지만 elif로 들어가는 순간 막혔어요 ㅋㅎ
#2트 (TypeError)
dice1, dice2, dice3 = map(int,input().split())
dice = [dice1, dice2, dice3]
prize_same3 = 10000 +dice *1000
prize_same2 = 1000 +dice *100
nothing_same_prize = max(dice)*100
if dice1==dice2==dice3:
print(prize_same3)
elif dice1==dice2 or dice1 == dice3 or dice2 == dice3:
print(prize_same2)
else:
print(nothing_same_prize)
2트에서는 TypeError로 틀렸어요
그래서 리스트로 하지 말고, 해봐야겠다 싶더라구요
elif dice1==dice2 or dice1 == dice3 or dice2 == dice3:
print(prize_same2)
그리고!
elif문을 노가다로 써보았어요 어떻게든 문제는 풀고 싶었거든요!
#3트 "틀렸습니다"
dice1, dice2, dice3 = map(int,input().split())
if dice1==dice2==dice3:
print(10000 +dice1 *1000)
elif dice1==dice2 or dice1 == dice3 or dice2 == dice3: # 여기서 같은 숫자 어케 판별함?
print(1000 +dice1 *100)
else:
print(max(dice1, dice2, dice3)*100)
자! 리스트는 없애주고 하나하나 적어주었어요
근데 그냥 "틀렸습니다"라고 하네요? ^^
그래서 코드랑 눈싸움했어요
elif문이 문제인 게 뻔히 보이더라구요
elif dice1==dice2 or dice1 == dice3 or dice2 == dice3: # 여기서 같은 숫자 어케 판별함?
print(1000 +dice1 *100)
저 중에서 어떤 게 같은 숫자 2개이고, 뭐를 print()해줘야 할지를 명확히 해줘야 하잖아요
#4트
dice1, dice2, dice3 = map(int,input().split())
if dice1==dice2==dice3:
print(10000 +dice1 *1000)
elif dice1==dice2 or dice1 == dice3 or dice2 == dice3:
same_number = dice1 if dice1 == dice2 or dice1 == dice3 else dice2
prize = 1000 + same_number * 100
print(prize)
else:
print(max(dice1, dice2, dice3)*100)
🤔 문제 풀이
- elif dice1==dice2 or dice1 == dice3 or dice2 == dice3:
- same_number = dice1 if dice1 == dice2 or dice1 == dice3
- 여기까지가 dice1에 대한 조건문이에요 dice1이 dice2와 3과 같으면 dice1로 할 거란 거예요!
- else dice2
- 그 외에는 dice2로 끌고 올게요!
- prize = 1000 + same_number * 100
- 주사위 2개가 같을 때의 식별자를 same_number로 했기 때문에 주사위 자리엔 식별자를 넣었어요!
- same_number = dice1 if dice1 == dice2 or dice1 == dice3
이번에도 도움을 여기저기 많이 받은 문제였어요
캬~
도와주셔서 감사하고, 더 배워갈 수 있도록 해주셔서 감사해요
파이팅~!
'문제 풀기 > 백준' 카테고리의 다른 글
[조건문] 2525번 오븐 시계(+실패 흔적, 고통받은 "시간" 문제 3h) (3) | 2024.12.17 |
---|---|
[조건문] 2884번 알람 시계 (+실패 흔적, 지독히 나를 괴롭힌 문제임2h) (2) | 2024.12.14 |
[조건문] 14681번 사분면 고르기 (0) | 2024.12.14 |
[조건문] 2753번 윤년 (+내가 못하는 배수, 실패 흔적) (0) | 2024.12.14 |
[조건문] 9498번 시험 성적 (+다른 사람 풀이) (0) | 2024.12.14 |