Koala - 6기/기초 알고리즘 스터디
[백준/python] 2511번: 카드놀이
pjh899
2022. 3. 19. 09:40
2511번: 카드놀이
첫 번째 줄에는 게임이 끝난 후, A와 B가 받은 총 승점을 순서대로 빈칸을 사이에 두고 출력한다. 두 번째 줄에는 이긴 사람이 A인지 B인지 결정해서, 이긴 사람을 문자 A 또는 B로 출력한다. 만약
www.acmicpc.net
문제 해석
list로 10번의 라운드동안 A와 B의 숫자를 비교한 후 승점을 계산하여 승, 패를 구분한다.
코드
문제 풀이
먼저 변수를 설명하자면 A, B는 각각 A와 B의 카드들을 저장할 list이고 a, b는 A와 B의 승점, last_win은 승점이 같을 때를 대비해 A가 이기면 1, B가 이기면 -1, 계속 비기면 0이 저장되는 변수이다.
카드를 입력받은 후에 for문을 통해 10라운드를 진행하게 된다. A가 크면 a에 3을 더하고 last_win을 1로 바꿔주고 B가 이기면 b에 3을 더하고 last_win을 -1로 바꿔준다. 둘 다 아닌 경우는 비길 경우이므로 last_win은 변화없이 각각 승점 1점을 더해준다.
그 후, 각 승점을 출력해주고 a가 크거나 a와 b가 둘다 같고 last_win이 1일때는 "A" 출력, b가 크거나 a와 b가 둘다 같고 last_win이 -1일 때는 "B" 출력, 둘 다 아닌 계속 비긴 경우는 "D"가 출력된다.