백준 2480번 : 주사위 세개 파이썬 문제풀이 (조건문)
<문제>
2480번 문제의 내용은 아래와 같습니다.
주사위 세개
문제
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.
- 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.
- 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.
- 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×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
<작성한 코드>
<코드 풀이>
먼저 입력으로 첫째 줄에 3개의 주사위 눈이 빈칸을 사이에 두고 각각 주어진다.
라는 말이 있기 때문에, 다음과 같이 map함수를 이용해 총 3개의 입력값을 받도록 했습니다.
문제에는 다음과 같은 총 3가지의 조건이 있습니다.
조건들은 다음과 같습니다.
- 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.
- 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.
- 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.
각 조건의 상황에 따라서 받게되는 상금이 달라지기 때문에 각 조건별로 코드를 작성해주었습니다.
1. [같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다] 조건일때
와 같이 작성해주었습니다.
2. [같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.] 조건일때
이번 조건은 elif(else if)를 사용하여 조건문을 작성해주었습니다.
이렇게 작성할 경우 1번에서 작성한 if 조건에 해당하지 않는다는 전제가 조건으로 깔리기 때문에
같은 눈이 3개가 아닌 2개만 나오는 경우로 조건을 설정할 수 있습니다.
+ 또 주석에 작성한 것 처럼 저렇게 조건문을 작성하게 되면, 변수 b가 어떤 상황이던지 같은 눈 2개중에 하나에 해당하기 때문에 상금을 계산할 때 변수 b를 이용할 수 있게 되어서 작성에 용이합니다.
3. [모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.] 조건일때
이번 조건은 가장 큰 눈이 a,b,c 중 무엇인지 알아내기 위해 단순히 max() 함수 를 사용했습니다.
'백준 알고리즘' 카테고리의 다른 글
백준 1260번 파이썬 문제풀이 : DFS와 BFS (0) | 2023.01.30 |
---|---|
백준 2738번 행렬 덧셈 문제풀이[파이썬] (0) | 2023.01.27 |
백준 2525번 : 오븐 시계 문제풀이 [파이썬] (0) | 2022.11.03 |
백준 2884번 : 알람 시계 문제풀이 [파이썬] (0) | 2022.10.28 |
백준 14681번 : 사분면 고르기 문제풀이 [파이썬] (0) | 2022.10.28 |