소스 코드
from collections import deque
import sys
# append 자주 사용
# 속도 높이기 위해 deque 사용
board = deque()
ans = deque()
n,k = map(int,sys.stdin.readline().rstrip().split())
# 1~n까지의 리스트 만들기
for q in range(1,n+1):
board.append(q)
# k번째 값 ans에 저장
# k번째 값 제거
idx = 0
while len(board) != 0:
temp = (idx+k-1)%len(board)
ans.append(board[temp])
del board[temp]
idx = temp
# <a, b, c> 형태로 출력
word = '<'
for w in ans:
word += str(w) + ', '
print(word[:-2]+'>')
해결 방법
1. k번째 값을 선택하는 방법만 주의하면 됨
(index out of range error 발생 가능)
느낀 점
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.
'코딩 문제해결 > 문제 풀이.백준' 카테고리의 다른 글
[BOJ/백준 코딩] 점프 - PYTHON #1890 (0) | 2023.05.21 |
---|---|
[BOJ/백준 코딩] 단어 나누기 - PYTHON #1251 (0) | 2023.05.20 |
[BOJ/백준 코딩] 큐 - PYTHON #10845 (0) | 2022.01.10 |
[BOJ/백준 코딩] A → B - PYTHON #16953 (0) | 2021.11.25 |
[BOJ/백준 코딩] 1로 만들기 - PYTHON #1463 (0) | 2021.11.17 |