Skip to content

Conversation

@zaqquum
Copy link
Collaborator

@zaqquum zaqquum commented Aug 10, 2025

🌱WIL

이번 한 주의 소감을 작성해주세요!

  • 이번 주는 날씨가 더워서 그런지(?) 코딩 권태기가 온 듯 하다. 다음 주 부터는 꼭 루틴 지켜서 1일1문제를 달성하도록 하겠습니다.

🚀주간 목표 문제 수: 4개

푼 문제


백준 #1158. 요세푸스: 큐 / 실버4

정리한 링크: (바로가기)

🚩플로우 (선택)

코드를 풀이할 때 적었던 플로우가 있나요?

  1. K-1 씩 오른쪽으로 포인터를 이동하여 pop & answer에 추가
    2.출력

🚩제출한 코드

import sys
N , K = map(int , sys.stdin.readline().split())

#1. 원형 큐 만들기 
elements = [i for i in range(1,N+1)]
answer = []
p = 0 
# K-1 씩 오른쪽으로 포인터를 이동하여 pop & answer에 추가
while elements : 
    p = (p + K-1) % len(elements)
    answer.append(elements.pop(p))
#2.출력 
print("<"+", ".join(list(map(str, answer))) + ">")

백준 #280633. 타노스는 요세푸스가 밉다.: 큐 / 실버2

정리한 링크: (바로가기)

🚩플로우 (선택)

코드를 풀이할 때 적었던 플로우가 있나요?

  • 시간 초과를 방지하리 위해 큐의 popleft()을 활용해야한다.
  1. N,K 입력 변수 정의하고 , 큐 elements 초기 청설모 번호들 1~ N 로 초기화한다.
  2. 반복문 while 으로 청설모 1마리만 이하 남을때 까지 탐색을 진행한다.
    1. 남은 청설모 < K 라면 , 첫번째 청설모 번호(element[0]) 만 출력하고 종료한다.
  3. 첫번째 순번 청설모를 변수 first 에 저장하고 , popleft() 로 첫번째를 포함한 K 마리 청설모를 elements에서 제거한다.
  4. 기존 첫번째 요소를 append() 로 맨 뒤에 추가하여, 다음 첫번째 요소는 자동으로 elementsidx =0 로 배치된다.

🚩제출한 코드

import sys
from collections import deque
input = sys.stdin.readline

N , K = map(int , input().split())

elements = deque([i for i in range(1, N+1)])
start = 0 
while len(elements) > 1 : # 탐색 종료 조건 : 청설모가 1마리 이하로 남을 떄 

  if len(elements) < K : # K보다 적게 남아있으면, 강제종료
    print(elements[0])
    exit()
  # elements 개수 >= K
  first = elements[0]
  # 1. K개 삭제(first 도 포함해서 일단 삭제) 
  for i in range(K): # K-1 개 삭제

    elements.popleft()

  #2.기본 첫번째 요소를 맨 뒤쪽에 추가,  
  # 다음 첫번째 요소는 자동 맨 앞(idx= 0 )으로 배치됨
  elements.append(first)

  
print(elements[0])

@zaqquum zaqquum self-assigned this Aug 10, 2025
@zaqquum zaqquum merged commit 7f34437 into main Aug 15, 2025
@github-actions
Copy link

🔥2025-08 챌린지 진행 상황

👉 그리디

  • YoonYn9915: 1개 ❌

👉 구현

  • YoonYn9915: 0개 ❌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants