[BOJ/백준-Python]2480번 - 주사위 세개

2480번 - 주사위 세개

문제

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원을 상금으로 받게 된다.

3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.

입력

첫째 줄에 3개의 눈이 빈칸을 사이에 두고 각각 주어진다.

출력

첫째 줄에 게임의 상금을 출력 한다.

예제 입력 1

3 3 6

예제 출력 1

1300

예제 입력 2

2 2 2

예제 출력 2

12000

예제 입력 3

6 2 5

예제 출력 3

600

해결할 방법을 생각해보자.💡

경우를 생각해보자.

  1. 입력 받은 세 정수가 같으면 상금이 10000원과 그 정수에 1000을 곱한 값을 더해 출력해주면 된다.
  2. 입력 받은 세 정수 중 두 정수만 같으면, 1000원과 같은 그 정수를 100에 곱해 더해 출력해주면 된다.
  3. 다 다를 경우 가장 큰 값만 100에 곱해서 출력해준다.

우선 정수 3개를 받아준다.

a,b,c = map(int, input().split())

1번의 경우를 표현해보면 간단하다. 조건에 a == b == c를 적어주고 10000 + 1000 * 세정수중아무거나 를 해서 출력해주면 된다.

if a == b == c:
    print(10000 + 1000 * a)

2번의 경우는 이렇다.

  1. a와 b가 같은 경우

    • elif (a == b) and (b != c):
          print(1000 + 100 * a)
      
    • 이 경우는 c만 다르다는 것을 명시해주고, 출력할 때 100에 곱할 정수를 a나 b로 설정해주면 된다.
  2. a와 c가 같은 경우

    • elif (a == c) and ( b != c):
          print(1000 + 100 * a)
      
    • 이 경우는 b만 다르다는 것을 명시해주고, 출력할 때 100에 곱할 정수를 a나 c로 설정해주면 된다.
  3. b와 c가 같은 경우

    • elif (b == c) and (a != b):
          print(1000 + 100 * b)
      
    • 이 경우는 a만 다르다는 것을 명시해주고, 출력할 때 100에 곱할 정수를 b나 c로 설정해주면 된다.

마지막 3번의 경우는 3개다 다르다는 조건을 걸어준다.

elif (a != b) and (a != c) and (b != c):

그리고 여러가지 방법이 있을거다. 다시 if문을 사용해서 세 정수의 크기를 비교하거나, 반복문을 사용하거나 할 수 있겠다. 나는 리스트를 만들어 max()함수를 사용했다.

elif (a != b) and (a != c) and (b != c):
    maxlist = []
    maxlist.append(a)
    maxlist.append(b)
    maxlist.append(c)
    print(max(maxlist) * 100)

리스트를 만들어 세 정수 a, b, c를 모두 넣어주고 최대값을 구해주는 max() 함수를 사용해서 100에 곱해 출력해주면 끝이다!

코드💻

a,b,c = map(int, input().split())

if a == b == c:
    print(10000 + 1000 * a)
elif (a == b) and (b != c):
    print(1000 + 100 * a)
elif (a == c) and ( b != c):
    print(1000 + 100 * a)
elif (b == c) and (a != b):
    print(1000 + 100 * b)
elif (a != b) and (a != c) and (b != c):
    maxlist = []
    maxlist.append(a)
    maxlist.append(b)
    maxlist.append(c)
    print(max(maxlist) * 100)

해결 로그

문제 푼 날짜 체크
2022-03-07
   
   
   
   

2022

[web]jQuery 복습 3

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 2

13 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 1

14 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리4

5 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리3

10 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리2

7 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리1

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]CSS 기초 정리

11 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]HTML 기초 정리

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[Pandas]pandas 연습

3 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑

2021

[Python기초]module

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑