[문제]
https://www.acmicpc.net/problem/1362
[풀이]
이번 문제의 놓치기 쉬운 중요한 포인트는 펫이 죽었을 경우에 다시 살릴 수 없다는 것이다.
때문에 'E' 또는 'F'와 n 값이 입력돼 펫의 실제 체중을 구할 때마다 실제 체중이 0 이하인지를 확인해 펫이 죽었는지 확인했다. 만약 die 가 True로 바뀌었을 경우, 조건문 if not die에 진입하지 못해 더 이상 밥을 주거나 운동을 시킬 수 없게 된다.
[코드]
if __name__ == '__main__':
cnt = 0
while True:
o, w = map(int, input().split())
if o == 0 and w == 0: # "0 0" 입력 시 모든 시나리오 끝남
quit()
die = False
while True:
action, n = input().split()
if action == '#' and n == '0':
break
if not die:
n = int(n)
if action == 'E':
w -= int(n)
elif action == 'F':
w += int(n)
if w <= 0: # 사망
die = True
cnt += 1
if w <= 0:
print("%d RIP" % cnt)
elif o / 2 < w < o * 2:
print("%d :-)" % cnt)
else:
print("%d :-(" % cnt)
'문제풀이 > BOJ' 카테고리의 다른 글
[Python] BOJ/백준 1152번 단어의 개수 (0) | 2021.06.14 |
---|---|
[Python] BOJ/백준 2037번 문자메시지 (0) | 2021.06.14 |
[Python] BOJ/백준 2596번 비밀편지 (0) | 2021.06.13 |
[Python] BOJ/백준 2587번 대표값2 (0) | 2021.06.12 |
[Python] BOJ/백준 2592번 대표값 (0) | 2021.06.12 |