지식보부상님의 공부 일지

백준 10103번: 주사위 게임 본문

파이썬 문제풀이

백준 10103번: 주사위 게임

지식보부상님 2025. 1. 3. 10:43

https://www.acmicpc.net/problem/10103

 

주사위 게임 성공

시간 제한 메모리 제한 제출 정답 맞힌사람 정답맞힌사람비율
1 초 256 MB 11723 9624 9133 83.338%

문제

창영이와 상덕이는 게임을 하고 있다.

게임을 시작하는 시점에서, 두 사람의 점수는 모두 100점이다.

게임은 여섯 면 주사위를 사용하며, 라운드로 진행된다. 매 라운드마다, 각 사람은 주사위를 던진다. 낮은 숫자가 나온 사람은 상대편 주사위에 나온 숫자만큼 점수를 잃게 된다. 두 사람의 주사위가 같은 숫자가 나온 경우에는 아무도 점수를 잃지 않는다.

게임이 끝난 이후에 두 사람의 점수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 라운드의 수 n (1 ≤ n ≤ 15)가 주어진다. 다음 n개 줄에는 두 정수가 주어진다. 첫 번째 정수는 그 라운드에서 창영이의 주사위에 나타난 숫자, 두 번째 정수는 상덕이의 주사위에 나타난 숫자이다. 두 정수는 항상 1보다 크거나 같고, 6보다 작거나 같다.

출력

첫째 줄에 게임이 끝난 이후에 창영이의 점수, 둘째 줄에는 상덕이의 점수를 출력한다.

예제 입력 1

4
5 6
6 6
4 3
5 2

예제 출력 1 

94
91

 

제출 코드

round_num = int(input())

score = {"Chang":100, "Sang":100}

for i in range(round_num):
    c, s = map(int, input().split())
    if c < s:
        score["Chang"] -= s
    elif s < c:
        score["Sang"] -= c

print(f"{score['Chang']}\n{score['Sang']}")

 

코멘트

배열로 해결해도 되지만 딕셔너리 사용으로 해결하고자 했음

출력 시 큰따옴표의 중복 사용 주의! 

'파이썬 문제풀이' 카테고리의 다른 글

백준 11557번: Yangjojang of The Year  (0) 2025.01.03
백준 10214번: Baseball  (1) 2025.01.03
백준 10162번: 전자레인지  (1) 2025.01.03
백준 9506번: 약수들의 합  (0) 2025.01.02
백준 9610번: 사분면  (2) 2025.01.02