[백준 알고리즘] 1021번 회전하는 큐, 파이썬(python)
글 작성자: 망고좋아
반응형
1021, 회전하는 큐
📁 문제 출처
💡 생각
queue.index(i) <= len(queue) // 2
면은 2번 연산,else
면 3번 연산- 배열 회전은 rotate함수를 사용하면 편하다.
🛠 나의 코드
from collections import deque
n , m = map(int, input().split())
queue = deque()
for i in range(1, n+1):
queue.append(i)
arr = list(map(int, input().split()))
cnt = 0
for i in arr:
while True:
if queue[0] == i:
queue.popleft()
break
else:
if queue.index(i) <= len(queue) // 2:
queue.rotate(-1)
cnt += 1
else:
queue.rotate(1)
cnt += 1
print(cnt)
✔️ 배운 점 및 주의할 점
- 처음에 append(popleft()), appendleft(pop())로 풀려고 했는데 rotate함수를 알아서 쉽게 해결했다.
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 알고리즘] 4948번 베르트랑 공준, 파이썬(python) (0) | 2021.08.14 |
---|---|
[백준 알고리즘] 4949번 균형잡힌 세상, 파이썬(python) (0) | 2021.08.11 |
[백준 알고리즘] 5430번 AC, 파이썬(python) (0) | 2021.08.10 |
[백준 알고리즘] 2164번 카드2, 파이썬(python) (0) | 2021.08.10 |
[백준 알고리즘] 18258번 큐 2, 파이썬(python) (0) | 2021.08.10 |
댓글
이 글 공유하기
다른 글
-
[백준 알고리즘] 4948번 베르트랑 공준, 파이썬(python)
[백준 알고리즘] 4948번 베르트랑 공준, 파이썬(python)
2021.08.14 -
[백준 알고리즘] 4949번 균형잡힌 세상, 파이썬(python)
[백준 알고리즘] 4949번 균형잡힌 세상, 파이썬(python)
2021.08.11 -
[백준 알고리즘] 5430번 AC, 파이썬(python)
[백준 알고리즘] 5430번 AC, 파이썬(python)
2021.08.10 -
[백준 알고리즘] 2164번 카드2, 파이썬(python)
[백준 알고리즘] 2164번 카드2, 파이썬(python)
2021.08.10