[파이썬][백준 10103번] 주사위 게임
1. 문제
[Bronze III] 주사위 게임 - 10103
성능 요약
메모리: 30840 KB, 시간: 68 ms
분류
사칙연산(arithmetic), 구현(implementation), 수학(math), 시뮬레이션(simulation)
문제 설명
창영이와 상덕이는 게임을 하고 있다.
게임을 시작하는 시점에서, 두 사람의 점수는 모두 100점이다.
게임은 여섯 면 주사위를 사용하며, 라운드로 진행된다. 매 라운드마다, 각 사람은 주사위를 던진다. 낮은 숫자가 나온 사람은 상대편 주사위에 나온 숫자만큼 점수를 잃게 된다. 두 사람의 주사위가 같은 숫자가 나온 경우에는 아무도 점수를 잃지 않는다.
게임이 끝난 이후에 두 사람의 점수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 라운드의 수 n (1 ≤ n ≤ 15)가 주어진다. 다음 n개 줄에는 두 정수가 주어진다. 첫 번째 정수는 그 라운드에서 창영이의 주사위에 나타난 숫자, 두 번째 정수는 상덕이의 주사위에 나타난 숫자이다. 두 정수는 항상 1보다 크거나 같고, 6보다 작거나 같다.
출력
첫째 줄에 게임이 끝난 이후에 창영이의 점수, 둘째 줄에는 상덕이의 점수를 출력한다.
출처: 백준, https://https://www.acmicpc.net/
2. 해결방법 시간복잡도
- 단순 코딩 O(N)
3. 문제 해결 및 코드
-
주석을 참고하면서 이해를 돕습니다.
4. 알고리즘 및 해설
- 받아야 될 값은 T로 받는다.
- 창영이와 상덕이를 변수로 만는다.
- 이후 반복문을 통해 승패 여부를 결정짔는데, if문으로 경우의 수를 만든다.
- 두 개의 결과값을 두 줄로 출력한다.
5. 짚고 넘어가기
- sys.stdin.readline() 함수를 통해 메모리 효율을 줄이는 방법