kwan's note

백준 20055번 컨베이어 벨트 위의 로봇 파이썬 (python code) 본문

Algorithm/python

백준 20055번 컨베이어 벨트 위의 로봇 파이썬 (python code)

kwan's note 2021. 4. 26. 03:40
반응형

www.acmicpc.net/problem/20055

 

20055번: 컨베이어 벨트 위의 로봇

길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부

www.acmicpc.net

 

문제에 다 나와있다.

 

문제를 아주 잘 읽고

그대로 코드로 옮기면 된다.

 

문제를 잘못이해해 이상한 숫자가 몇번 나왔는데 결국 문제안에 답이 있었다.

N,K = map(int,input().split())

naegoo = list(map(int,input().split()))

robot=[0]*N

step=0
while(naegoo.count(0)<K):
    step+=1
    a=naegoo.pop()
    naegoo.insert(0,a)

    robot.pop()
    robot.insert(0,0)

    robot[N - 1] = 0

    for i in range(N-2,0,-1):
        if robot[i] and naegoo[i+1] and (not robot[i+1]):
            robot[i]=0
            robot[i+1]=1
            naegoo[i+1] = max(0,naegoo[i+1]-1)

    robot[N - 1] = 0

    if naegoo[0] and (not robot[0]):
        robot[0]=1
        naegoo[0] = max(0,naegoo[0]-1)

print(step)

 

반응형