주사위 게임

박지예·2021년 10월 6일
0

공부

목록 보기
13/42
post-thumbnail

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.

규칙1: 같은 눈이 3개가 나오는 경우 10,000원+(같은 눈)*1,000원

규칙2: 같은 눈이 2개가 나오는 경우 10,00원+(같은 눈)*100원

규칙3: 모두 다른 눈 나오는 경우 (가장 큰 눈)*100원


  • ex) 3개의 눈 3,3,6이 주어지면 상금은 1,000+3*100 = 1,300원이 상품
  • 2,2,2이면 10,000+2*1,000으로 계산되어 12,000원

N명이 주사위 게임에 참여 했을때, 가장 많은 상금을 받는 사람의 상금을 출력하시오.

입력

  • 첫 줄에는 n명이 주어지고
  • 두번째 줄에는 n개의 줄에 사람들이 주사위를 던진 3개의 눈이 빈칸을 사이에 두고 각각 주어진다.
  • 입력 ex): 3
  • 3 3 6
  • 2 2 2
  • 6 2 5

출력

  • 가장 많은 상금을 받은 사람의 상금 출력
  • 출력 ex): 10,000+2*1,000 = 12,000

n = 3
res = 0
arr = [[3,3,6],[2,2,2],[6,2,5]]

값은 2차원 배열로 넣어준다

이제 for 문을 돌린다.

for i in range(n):
    #tmp=input().split()
    tmp = arr[i]
    # 정렬을 한다.
    tmp.sort()
    a,b,c = map(int, tmp)
    if a ==b and b==c:
        money = 10000+a*1000
    elif a==b or a==c:
        money = 1000+a*100
    elif b==c:
        money = 1000+b*100
    else:
        #정렬을 했기 때문에 c가 가장 큰값
        money = c*100
    if money>res:
        res = money

하나씩 뜯어보면

tmp = arr[i]
  
tmp.sort()

여기서 잠깐
sort함수:
크기 오름차순으로 정렬

a,b,c = map(int, tmp)

tmp값에 a, b, c를 순서대로 넣어줌


if a ==b and b==c:
        money = 10000+a*1000
        elif a==b or a==c:
        money = 1000+a*100
    elif b==c:
        money = 1000+b*100
    else:
        #정렬을 했기 때문에 c가 가장 큰값
        money = c*100
    if money>res:
        res = money

이제 조건문을 체크 한다

그러면 돈이 얼마나오는지 알 수 있다

profile
언젠간 바다로 갈거야!🐋

0개의 댓글