최대 1 분 소요

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. 해결방법 시간복잡도

  1. 단순 코딩 O(N)

3. 문제 해결 및 코드


  • 주석을 참고하면서 이해를 돕습니다.

4. 알고리즘 및 해설

  1. 받아야 될 값은 T로 받는다.
  2. 창영이와 상덕이를 변수로 만는다.
  3. 이후 반복문을 통해 승패 여부를 결정짔는데, if문으로 경우의 수를 만든다.
  4. 두 개의 결과값을 두 줄로 출력한다.

5. 짚고 넘어가기

  1. sys.stdin.readline() 함수를 통해 메모리 효율을 줄이는 방법