[문제 링크] 👇
풀이 방법
입력 설명
3 # 명령어 개수
1 2 # 명령어, 속도
2 1
0
- 명령어 개수가 3일 때, 그 다음줄부터 3번의 명령이 주어진다.
- 명령어가 1 혹은 2일 때 추가로 속력이 주어지고, 0일 때는 주어지지 않는다.
예시
5
1 2
1 2
2 1
0
0
- 첫 줄 명령어가 1이므로, 2만큼 가속한다. 그래서 현재 속도은 2이다.
- 두 번째 줄 명령어가 1이므로, 2만큼 가속한다. 현재 속력 + 가속도 = 2 + 2 = 4이다. 따라서 현재 속도는 4이다.
- 세 번째 줄 명령어가 2이므로, 1만큼 감속한다. 현재 속력 4에서 감속할 속도 1을 뺀다. 그래서 현재 속도는 3이다.
- 네 번째 줄 명령어가 0이므로, 현재 속도를 유지한다. 따라서 현재 속도는 여전히 3이다.
- 다섯 번째 줄 명령어가 0이므로, 위와 같다.
현재 속도는 1초당 이동한 거리이다. 따라서 1번부터 5번까지의 현재 속도를 다 더해주면 총 이동한 거리가 나온다.
Solution
T = int(input()) # 테스트 케이스 수
for test_case in range(1, T + 1):
command = int(input()) # 커맨드 수
result = 0
now = 0 # 현재 속도
for _ in range(command):
com = list(map(int, input().split()))
if len(com) == 2: # 명령어가 1 or 2 일 때
if com[0] == 1: # 1일 때
now += com[1]
else: # 2일 때
if now < com[1]: # 현재 속도보다 감속할 속도가 더 클 경우
now = 0
else:
now -= com[1]
result += now
print(f"#{test_case} {result}")
👩💻 회고
문제 이해하는데만 20분 소요.. 문제만 잘 이해하면 쉽게 풀린다.
'SWEA' 카테고리의 다른 글
[SWEA] 6485. 삼성시의 버스 노선 (Python/D3) (2) | 2024.11.13 |
---|---|
[SWEA] 5789. 현주의 상자 바꾸기 (Python/D3) (1) | 2024.11.13 |
[SWEA] 2005. 파스칼의 삼각형 (Python/D2) (0) | 2024.11.10 |
[SWEA] 20551. 증가하는 사탕 수열 (Python/D3) (0) | 2024.11.08 |
[Programmers] L1. 기사단원의 무기 (Python) (2) | 2024.11.07 |