알고리즘/SWEA
[Python] SWEA D2 1940번 - 가랏! RC카!
번잔중
2022. 6. 2. 17:55
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
이 문제는 물리를 배운 분들이면 헷갈린다고 하는 문제더라구요... 물론 저는 물리 잘 몰라서 그냥 문제대로 풀었습니다 ^_^(이득맞나..)
문제에 나온대로 규칙을 적용해주면 됩니다.
- 0은 속도 유지, 1은 가속, 2는 감속
- 포인트는 속도를 거리에 계속 더해주는 것인데, 입력된 숫자에 따라 그 양이 달라질 뿐 계속 더해진다는 것입니다.
- 입력받은 2개의 수를 기준으로 1과 2인 경우를 나누어주어야 합니다.
1) 1인 경우: 속도인 s에 증가할 속도를 더해줍니다.
2) 2인 경우: 속도인 s가 감소할 속도보다 큰지 확인한 이후 빼줍니다.
- 위의 두 가지 작업이 끝난 이후 거리에 속도를 더해주면 됩니다.
- 0을 따로 신경쓰지 않은 이유는 이전 속도와 동일하게 더해주면 되기 때문입니다.
T = int(input())
for t in range(1, T + 1):
s = 0
m = 0
for _ in range(int(input())):
c = list(map(int, input().split()))
if c[0] == 1:
s += c[1]
if c[0] == 2:
if s > c[1]:
s -= c[1]
m += s
print('#%d %d' % (t, m))
피드백은 언제나 환영합니다.