문제
https://www.acmicpc.net/problem/1362
문제 설명
각 시나리오마다 적정 체중과 실제 체중을 입력받는다.
명령에 따라 실제 체중을 변화시키고, 시나리오가 종료되면 조건에 따라 펫의 상태를 출력한다.
코드
import sys
input = __import__('sys').stdin.readline
def main():
idx = 1 # 시나리오 횟수
while True:
L, R = map(int, input().rstrip().split())
if L == R == 0: # L, R 둘다 0이라면 프로그램 종료
break
else:
o = L # o는 적정 체중
w = R # w는 실제 체중
while True:
command, num = input().rstrip().split()
num = int(num)
if command == '#' and num == 0: # command에 '#'이 들어오면 시나리오 종료 -> 펫 상태 출력
if w > o / 2 and w < o * 2:
print(f'{idx} :-)')
elif w <= 0:
print(f'{idx} RIP')
else:
print(f'{idx} :-(')
idx += 1
break
elif command == 'E' and w > 0:
w -= num
elif command == 'F' and w > 0:
w += num
if __name__ == "__main__":
main()
코드 설명
1. 반복문을 통해 두 문자열 L, R을 입력받는다.
+ 만약 두 문자열이 모두 0이라면 프로그램을 종료한다. 아니라면, L은 적정 체중 o, R은 실제 체중 w이다.
2. 반복문 안에 반복문을 넣고 문자열 변수 command와 정수형 변수 num을 입력받는다.
3. command가 '#', num이 0이라면, 시나리오가 종료되므로 조건에 따른 상태를 출력한다.
4. command가 'E'라면 실제 체중에서 num을 빼고, 'F'라면 더해준다.
'Koala - 11기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준 / C++] 2828: 사과 담기 게임 (0) | 2023.07.21 |
---|---|
[백준 / C++] 17219: 비밀번호 찾기 (0) | 2023.07.21 |
[백준/C++] 10867번: 중복 빼고 정렬하기 (0) | 2023.07.18 |
11기 기초알고리즘 스터디 출석부 (0) | 2023.07.17 |
[백준/python] 10823번: 더하기 2 (0) | 2023.07.17 |