백준 1021번 회전하는 큐

2024. 1. 16. 09:38· 개발/알고리즘

https://velog.io/@goplanit/Algorithm-%EB%B0%B1%EC%A4%80-1021%EB%B2%88-%ED%9A%8C%EC%A0%84%ED%95%98%EB%8A%94-%ED%81%90%ED%8C%8C%EC%9D%B4%EC%8D%AC

 

[Algorithm] 백준 1021번 회전하는 큐(파이썬)

백준 1021 회전하는 큐 문제풀이

velog.io

위에 해설을 잘 적어주셔서 참고하여서 문제를 이해하고 풀었습니다.

dp의 요소를 찾을때 while을 또 사용할 필요 없는거 같아서 지웠습니다.

import collections
import sys

n, m = map(int, sys.stdin.readline().split())
find = list(map(int, sys.stdin.readline().split()))
dp = collections.deque([i for i in range(1, n + 1)])

# 이동횟수
count = 0

# 찾는 원소 반복
for i in find:
    # 찾을때까지 반복
    while True:
        # 찾는 원소가 0번째면 멈춘다.
        if dp[0] == i:
            dp.popleft()
            break
        # 아닐경우 진행
        else:
            # 중간값보다 작으면
            # 찾는 원소를 왼쪽부터 찾음
            if dp.index(i) < len(dp)/2:
                # 맨앞을 맨뒤로 보냄 순환
                dp.append(dp.popleft())
                count += 1
            # 오른쪽부터 찾음
            else:
                # 맨뒤를 맨앞으로 보냄 순환
                dp.appendleft(dp.pop())
                count += 1

print(count)
저작자표시 (새창열림)

'개발 > 알고리즘' 카테고리의 다른 글

백준 1874번 스택 수열  (0) 2024.01.22
백준 11279번 최대 힙  (0) 2024.01.17
백준 4949번 균형잡힌 세상  (1) 2024.01.15
백준 9012번 괄호  (0) 2024.01.10
백준 1011번 Fly me to the Alpha Centauri  (1) 2024.01.05
'개발/알고리즘' 카테고리의 다른 글
  • 백준 1874번 스택 수열
  • 백준 11279번 최대 힙
  • 백준 4949번 균형잡힌 세상
  • 백준 9012번 괄호
blablax5
blablax5
웹 백엔드취준생 입니다.
blablax5
blablax5
blablax5
전체
오늘
어제
  • 분류 전체보기 (141)
    • 개발 (39)
      • 트러블 슈팅 (25)
      • 서버 & DB (5)
      • 스프링 & 자바 (3)
      • 알고리즘 (6)
    • 스터디 (27)
      • AWS SAA (23)
      • 쉽게 배우는 운영체제 (3)
      • AWS Builders 온라인 시리즈 (1)
    • 학습부채 (0)
    • 항해99 (70)
    • 횡설수설 (3)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • SAA
  • AWS

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
blablax5
백준 1021번 회전하는 큐
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.