반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- codecademy
- Kotlin
- algorithm
- DP
- CSS
- 구현
- java
- front-end
- 자바
- SWEA
- html
- Spring
- 코딩테스트
- SQL
- Web
- javascript
- 프로그래머스
- 정렬
- CleanCode
- Color
- BFS
- android
- 해슁
- 클린코드
- 알고리즘
- 순환
- DFS
- 검색트리
- 다이나믹 프로그래밍
- inflearn
Archives
- Today
- Total
깡뇽
[백준] 20055번 컨베이어 벨트 위의 로봇 파이썬 본문
반응형
길이가 N인 컨베이어 벨트 / 길이가 2N인 벨트가 해당 컨베이어 벨트를 위아래로 감싸며 도는 중.
길이 1 간격으로 2N개의 칸으로 나뉨.
각 칸은 1부터 2N까지의 번호가 매겨져 있음.
벨트가 한 칸 회전하면 1번부터 2N-1번까지의 칸은 다음 번호의 칸이 있는 위치로 이동하고, 2N번 칸은 1번 칸의 위치로 이동.
i번 칸의 내구도는 Ai / 1번 칸이 있는 위치를 "올리는 위치" / N번 칸이 있는 위치를 "내리는 위치"
로봇을 올리는 위치에 올리거나 로봇이 어떤 칸으로 이동하면 그 칸의 내구도는 즉시 1만큼 감소.
<로봇들을 건너편으로 옮기기>
1. 벨트가 칸 위에 있는 로봇과 함께 한 칸 회전.
2. 가장 먼저 벨트에 올라간 로봇부터, 벨트가 회전하는 방향으로 한 칸 이동할 수 있다면 이동. 만약 이동할 수 없다면 가만히 있기.
(1) 로봇이 이동하기 위해서는 이동하려는 칸에 로봇이 없으며, 그 칸의 내구도가 1 이상 남아 있어야 함.
3. 올리는 위치에 있는 칸의 내구도가 0이 아니면 올리는 위치에 로봇을 올림.
4. 내구도가 0인 칸의 개수가 K개 이상이라면 과정을 종료. 그렇지 않으면 1번으로 돌아감.
- 입력
1줄 : N, K
2줄 : A1, A2, ,,, A2N
- 출력
종료 시점의 단계
20055번 컨베이어 벨트 위의 로봇
출처 : https://www.acmicpc.net/problem/20055
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[백준] 15686번 치킨 배달 파이썬 (1) | 2022.10.04 |
---|---|
[백준] 21610번 마법사 상어와 비바라기 파이썬 (1) | 2022.10.04 |
[백준] 14891번 톱니바퀴 파이썬 (1) | 2022.10.04 |
[백준] 14503번 로봇 청소기 파이썬 (1) | 2022.10.04 |
[백준] 11399번 ATM 파이썬 (2) | 2022.04.18 |