728x90
https://www.acmicpc.net/problem/20055
말 그대로 코드로 구현만 해주면된다
근데 문제가 좀 설명이 부실한듯
다른분들도 지적 하던데
로봇이 내리는 시점이 정확히 언제냐에 대한 내용이 부실하다.. 그거땜에 한참 헤맴
혹시나 이 문제 푸시는분들은
로봇이 내리는 로직을
무조건 내리는칸에 로봇이 도달하면 내리게 만들어주면 문제 풀릴거임 ㅡㅡ;;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import sys
from collections import deque
input = sys.stdin.readline
n, k = map(int, input().split())
dq = deque(map(int, input().split()))
robot_list = deque([0] * n)
# 내구도가 0인 칸의 갯수
cnt = 0
rollin_cnt = 0
while cnt < k:
rollin_cnt += 1
# 1. 내리는 위치의 로봇을 내리게하고 벨트가 각 칸 위의 로봇과 함께 한칸 회전한다
robot_list[n - 1] = 0
dq.appendleft(dq.pop())
robot_list.appendleft(robot_list.pop())
robot_list[n - 1] = 0
# 2. 가장 먼저 벨트에 올라간 로봇부터 이동한다!
for i in range(n - 2, -1, -1):
if robot_list[i + 1] == 0 and dq[i + 1] >= 1 and robot_list[i] == 1:
robot_list[i + 1] = 1
robot_list[i] = 0
dq[i + 1] -= 1
if dq[i + 1] == 0:
cnt += 1
# 올리는 위치에 로봇을 올린다
if dq[0] >= 1:
robot_list[0] = 1
dq[0] -= 1
if dq[0] == 0:
cnt += 1
print(rollin_cnt)
|
cs |
728x90
'PS > 백준' 카테고리의 다른 글
[백준 14889번] 스타트와 링크 (파이썬/python) (0) | 2021.07.02 |
---|---|
[백준 21608번] 상어 초등학교 (파이썬/python) (0) | 2021.07.01 |
[백준 14888번] 연산자 끼워넣기 (파이썬/python) (0) | 2021.07.01 |
[백준 16472번] 고냥이 (파이썬/python) (0) | 2021.07.01 |
[백준 13460번] 구슬 탈출 2 (파이썬/python) (0) | 2021.06.24 |