[백준/python] 1158번 요세푸스 문제

2022. 8. 7. 20:46· Koala - 7기/코딩테스트 준비 스터디
목차
  1.  
  2. 문제분석
  3.  
  4. 코드
  5. 문제풀이

 

https://www.acmicpc.net/problem/1158

 

1158번: 요세푸스 문제

첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)

www.acmicpc.net

 

문제분석

N명의 사람이 원을 이루면서 앉아있을 때, K번째 사람을 모든 사람이 제거될 때까지 계속 반복하는 문제이다.

 

코드

from collections import deque
n, k = map(int, input().split())
queue = deque(range(1, n + 1))
answer = []

while queue:
    for _ in range(k-1):
        queue.append(queue.popleft())
    answer.append(queue.popleft())

print(str(answer).replace('[', '<').replace(']', '>'))

 

문제풀이

1. 스택과 큐의 기능을 가진 deque 모듈을 import 한다.

2. n과 k를 입력받고, 1부터 n까지의 숫자를 queue에 넣어준다.

3. while문의 조건은 queue안에 숫자가 하나도 없기 전까지로 하고, for문은 k를 범위로 정한다. queue의 왼쪽 값을 popleft로 빼서 queue에 다시 append 함으로써 제거해야 할 K번째 수를 제일 왼쪽에 둔다.

4. K번째 수를 제거해서 정답 배열인 answer에 추가한다.

5. while문이 끝났으면, answer []를 <>으로 교체해주면서 출력하고 종료한다.

저작자표시 (새창열림)

'Koala - 7기 > 코딩테스트 준비 스터디' 카테고리의 다른 글

[백준/Python] 11286번 절댓값 힙  (0) 2022.08.07
[백준 / Python] 17298 - 오큰수  (0) 2022.08.07
[백준 / Python] 2164번 카드2  (0) 2022.08.07
[백준/Python] 2346번: 풍선 터뜨리기  (0) 2022.08.07
[백준/JAVA] 11003 최솟값찾기  (0) 2022.08.06
  1.  
  2. 문제분석
  3.  
  4. 코드
  5. 문제풀이
'Koala - 7기/코딩테스트 준비 스터디' 카테고리의 다른 글
  • [백준/Python] 11286번 절댓값 힙
  • [백준 / Python] 17298 - 오큰수
  • [백준 / Python] 2164번 카드2
  • [백준/Python] 2346번: 풍선 터뜨리기
KauKoala
KauKoala
항공대 알고리즘 동아리 Koala 🥰
Koala항공대 알고리즘 동아리 Koala 🥰
KauKoala
Koala
KauKoala
전체
오늘
어제
  • 분류 전체보기 (1883)
    • 공지 게시판 (10)
    • 정보 게시판 (8)
    • Codeforce (15)
    • acm-icpc (6)
    • Koala - 1기 (16)
    • Koala - 2기 (111)
      • Programming Contest (1)
      • A반 (20)
      • B반 (39)
      • C반 (22)
      • 기초 강의 (18)
    • Koala - 3기 (10)
      • 기초 스터디 (7)
    • Koala - 4기 (67)
    • Koala - 5기 (144)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (68)
    • Koala - 6기 (102)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (25)
      • 모의 테스트 스터디 (1)
    • Koala - 7기 (167)
      • 기초 알고리즘 스터디 (97)
      • 코딩테스트 준비 스터디 (68)
      • 모의 테스트 스터디 (1)
    • Koala - 8기 (44)
      • 기초 알고리즘 스터디 (32)
      • 코딩테스트 준비 스터디 (10)
      • 코드포스 버츄얼 스터디 (0)
      • 프로그래머스 LV2 스터디 (0)
    • Koala - 9기 (205)
      • 기초 알고리즘 스터디 (138)
      • 코딩테스트 준비 스터디 (64)
      • 모의테스트 준비 스터디 (1)
    • Koala - 10기 (117)
      • 기초 알고리즘 스터디 (30)
      • 코딩테스트 준비 스터디 (86)
      • 모의테스트 준비 스터디 (1)
    • Koala - 11기 (151)
      • 기초 알고리즘 스터디 (46)
      • 코딩테스트 준비 스터디 (104)
      • 모의테스트 준비 스터디 (1)
    • Koala - 12기 (86)
      • 기초 알고리즘 스터디 (31)
      • 코딩테스트 준비 스터디 (55)
    • Koala - 13기 (119)
      • 기초 알고리즘 스터디 (52)
      • 코딩테스트 준비 스터디 (67)
    • Koala - 14기 (116)
      • 기초 알고리즘 스터디 (39)
      • 코딩테스트 준비 스터디 (77)
    • Koala - 15기 (138)
      • 기초 알고리즘 스터디 (73)
      • 코딩테스트 준비 스터디 (65)
    • Koala - 16기 (47)
      • 코딩테스트 기초 스터디 (16)
      • 코딩테스트 심화 스터디 (31)
    • Koala - 17기 (62)
      • 코딩테스트 기초 스터디 (15)
      • 코딩테스트 심화 스터디 (47)
    • Koala - 18기 (31)
      • 코딩테스트 기초 스터디 (11)
      • 코딩테스트 심화 스터디 (20)
    • Koala - 19기 (38)
      • 코딩테스트 기초 스터디 (7)
      • 코딩테스트 심화 스터디 (31)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 🐨항공대 알고리즘 학회 Koala 3기 모집
  • 🐨항공대 알고리즘 학회 Koala 2기 모집
  • 소모임 소개

인기 글

태그

  • dfs
  • 파이썬
  • C++
  • 백트래킹
  • BFS
  • dp
  • 백준
  • BOJ

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.3.0
KauKoala
[백준/python] 1158번 요세푸스 문제
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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