https://www.acmicpc.net/problem/12756
12756번: 고급 여관
플레이어 A의 카드가 남아있다면 "PLAYER A"를, 플레이어 B의 카드가 남아있다면 "PLAYER B"를 출력한다. 모두 죽은 상태라면 "DRAW"를 따옴표 없이 출력한다.
www.acmicpc.net
문제해석
임의의 꺼낸 카드로 상대와 겨루어 생명력을 0을 만들면 이기는 게임 시스템이다.
카드의 공격력과 생명력이 주어지면 어떤 플레이어의 카드가 남아있는지 출력한다.
코드
a1, r1 = map(int, input().split())
a2, r2 = map(int, input().split())
while (True):
if (r1 <= 0) and (r2 <= 0):
print("DRAW")
break
elif r1 <= 0:
print("PLAYER B")
break
elif r2 <= 0:
print("PLAYER A")
break
r1 = r1 - a2
r2 = r2 - a1
문제풀이
두명의 플레이어의 공격력과 생명력을 각각 입력받는다. 무한 반복문으로 특정 조건이 만족되면 break를 걸고 게임이 종료된다. 특정 조건이란 플레이어 A 또는 플레이어 B가 승리하거나 비기는 경우이다. 이 조건이 만족될 때까지 무한 루프를 돌며 각 플레이어가 가진 공격력으로 상대방의 생명력 깍으면 승리하는 시스템이다.
'Koala - 11기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/python] 10823번: 더하기 2 (0) | 2023.07.17 |
---|---|
[백준/C++] 1350번 진짜 공간 (0) | 2023.07.16 |
[백준/C언어] 20499번 Darius님 한타 안 함? (0) | 2023.07.16 |
[백준/Python3] 2839번: 설탕 배달 (0) | 2023.07.16 |
[백준 / C++] 10773: 제로 (0) | 2023.07.16 |