-
[백준 문제풀이] 얼렁뚱땅 20055 컨베이어 벨트 위의 로봇 풀이얼렁뚱땅 백준 문제풀이 2022. 9. 23. 15:07
https://www.acmicpc.net/problem/20055
20055번: 컨베이어 벨트 위의 로봇
길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부
www.acmicpc.net
n, k = map(int,input().split()) arr = list(map(int,input().split())) visited = [0] * len(arr) circle = 0 while True: #한 바퀴 돈다 circle += 1 #로봇과 함께 한 칸 회전한다. arr = [arr[-1]] + arr[:-1] visited = [visited[-1]] + visited[:-1] if visited[n-1] == 1 : visited[n-1] = 0 #가장 먼저 벨트에 올라간 로봇부터, 한칸 이동 할 수 있으면 이동한다. # index 0~n-1까지에만 로봇이 존재할 것임 여기만 보면 됨 count = 0 for i in range(n-1,-1,-1) : if visited[i] == 1 : if arr[i+1] > 0 and visited[i+1] == 0: visited[i+1] = 1 visited[i] = 0 arr[i+1] -= 1 if visited[n-1] == 1 : visited[n-1] = 0 #1번 자리에 로봇 올려 if arr[0] > 0 : arr[0]-= 1 visited[0] = 1 count = 0 for i in range(len(arr)) : if arr[i] == 0 : count += 1 if count >= k : break print(circle)
'얼렁뚱땅 백준 문제풀이' 카테고리의 다른 글
[백준 문제풀이] 얼렁뚱땅 14712 넴모넴모(Easy) 풀이 (0) 2022.09.26 [백준 문제풀이] 얼렁뚱땅 15666번 N과 M(12) 풀이 (0) 2022.09.24 [백준 문제풀이] 얼렁뚱땅 1916 최소비용 구하기 풀이 (1) 2022.09.22 [백준 문제풀이] 얼렁뚱땅 3184 양 풀이 (4) 2022.09.21 [백준 문제풀이] 얼렁뚱땅 2589 보물섬 풀이 (0) 2022.09.20