파이썬 문제풀이/구현

[삼성 sw 파이썬] 1940. 가랏! RC카!

ari0930 2024. 5. 2. 23:15

[삼성 sw 파이썬] 1940. 가랏! RC카!

문제

RC카의 이동거리를 계산하려고 한다.

command가 0 이면 현재 속도 유지 , 1 이면 가속 , 2 이면 감속 해야 하면

1,2, 인경우 가속도의 값이 추가로 주어진다.

 

만약 현재 속도보다 감속할 속도가 더 클 경우, 속도는 0 이 된다.

 

입력으로 n개의 command가 주어진다 각 command는 1초를 의미하면 총 n초 동안 이동한 거리를 계산하는 프로그램을 작성하면 된다.

 

입력

첫째줄에 총 테스트 케이스의 개수 T, 다음 줄부터 각 테스트 케이스가 주어진다.

테이스 케이스 첫 줄에는 command의 수 n이 주어지고 , 둘째 줄부터 , 매줄마다가 각각의 command 가 주어진다

풀이

현재속도 와 현재까지 이동한 거리를 저장할 변수를 선언한다.

그 후 n초 동안 반복하여 command 값에 따라 현재속도를 변화시키고 그후 현재까지 이동한 거리의 값을 변화시킨다.

코드

test=int(input())

for t in range(test):
    n=int(input())
    now_speed=0
    ans=0
    for i in range(n):
        array=list(map(int,input().split()))
        if array[0]==0:
            ans+=now_speed
        if array[0]==1:
            now_speed+=array[1]
            ans+=now_speed
        if array[0]==2:
            now_speed-=array[1]
            if now_speed<0:
                now_speed=0
            ans+=now_speed
    print("#{} {}".format(t+1,ans))

결과

반응형