inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

주사위 게임 코드리뷰 부탁드립니다(의문점도 있습니다)

405

한규원

작성한 질문수 12

0

#주사위 게임
'''
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게
임이 있다.
규칙(1) 같은 눈이 3개가 나오면 10,000원+(같은 눈)*1,000원의 상금을 받게 된다. 
규칙(2) 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)*100원의 상금을 받게 된다. 
규칙(3) 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)*100원의 상금을 받게 된다. 
예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3*100으로 계산되어 1,300원을 받게 된
다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2*1,000 으로 계산되어 12,000원을 받게 된다. 
3개의 눈이 6, 2, 5로 주어지면 그 중 가장 큰 값이 6이므로 6*100으로 계산되어 600원을 상금
으로 받게 된다.
N 명이 주사위 게임에 참여하였을 때, 가장 많은 상금을 받은 사람의 상금을 출력하는 프로그램
을 작성하시오
'''
import random

n = int(input("몇명에서 게임을 진행하나요:  "))
numArr= [1,2,3,4,5,6#주사위로 나올수있는 수 배열 생성
maxMoney = 0 #가장 많은 상금넣어줄 변수


for i in range(n):
    temp = [] #주사위로 나온 수를 넣어줄 변수
    for x in range(3):
        temp.append(random.choice(numArr)) #주사위로 나올숫자를 랜덤으로 받음
    temp.sort() #정렬해줌 max값 찾기 편하게
    abc = map(inttemp)
    
    if a == c : #정렬 되어 있으니까 (a == c)가 같으면 (a == b and b == c) 이의미이므로 (a == c)로 구현
        money = 10000 + a * 1000
    elif a == b or b == c# 정렬되어 있으므로 2가지값이 같은경우만 구현
        money = 1000 + b * 100
    else# 나머지 다다른경우!
        money = c * 100
    
    if money > maxMoney:
        maxMoney = money
    else:
        continue

print(f"가장 많이 받은 상금액수는: {maxMoney}원 입니다.")
    

이렇게 구현하였는데 혹시 더 좋은 방법이 있을까요?
의문점: 처음 if else 구문으로 전부다 같은경우 2가지만 같은경우 다 다른경우 구현하는 부분에서
강사님이 2가지 같은 수 구하는 구문에서 a==b or a == c 이렇게 하셨는데 정렬되어 있는 상태에서
a == c 가같은경우는 3가지가 다 같은숫자아닌가요?
ex) 2 5 3 이렇게 입력되어있어도 정렬되면 2 3 5 이렇게 되니까 a == c랑 같은경우는 2 2 2 이런경우의수밖에
없지않나요?
*항상 좋은강의 잘듣고있습니다 감사합니다.

python 코테 준비 같이 해요!

답변 1

0

김태원

안녕하세요^^

네 잘 하신 코드입니다.

그리고 정렬이 되어 있으니 a==c이면 세개가 모두 같다로 하는게 더 좋은 방법입니다. 

0

한규원

감사합니다 ㅎㅎ

기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.

1

104

2

스택에서 ')'을 만나는 경우

0

109

3

문제가 어디있나요?

0

86

2

변수 or 함수명

0

76

1

침몰하는 타이타닉 문제 질문입니다

0

71

1

AA.py 책점 에러

0

63

1

오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.

0

115

2

5.동전분배하기 문제 밑에코드도 정답이될까요?

0

116

1

아나그램 비교 코드

0

123

2

AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.

0

163

2

문제 링크가있나여?

0

153

2

채점기 Time Limit Exceeded 오류 문의

1

178

2

동적계획법은 사용하는 문제

0

132

2

제 코드 좀 봐주세요

0

154

1

예외가 존재할 가능성?

0

100

1

3번이 안풀립니다

0

98

0

5번 틀림

0

124

0

오류원인?

0

104

0

리스트 선언

0

115

1

침몰하는 타이타닉(그리디) 문제 질문

0

114

1

알고리즘

0

72

1

코딩테스트

0

98

1

DFS 순서 질문드립니다.

0

134

2

left, right를 사용한 풀이법에 대한 질문입니다

0

94

1