일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- SSR
- Jest
- 반공변성
- TS
- 무한 스크롤
- webpack
- dfs
- async/await
- 태그된 유니온
- 이분 검색
- 투포인터
- 인터섹션
- Cypress
- 공변성
- app router
- 호이스팅
- 결정 알고리즘
- map
- autosize
- 타입 좁히기
- useAppDispatch
- Promise
- tailwind
- recoil
- 리터럴 타입
- CORS
- React
- RTK Query
- CI/CD
- ESlint
Archives
- Today
- Total
짧은코딩
1158 요세푸스 문제 본문
반응형
https://www.acmicpc.net/problem/1158
내 풀이(맞음)
n, k = map(int, input().split())
ary = []
rst = []
for i in range(n):
ary.append(i+1)
t = k -1
while(True):
if(len(rst) == n):
break
if t < len(ary):
True
else:
t %= len(ary)
a = ary[t]
del ary[t]
rst.append(a)
t += k-1
print("<", end = '')
for i in rst:
if i == rst[-1]:
print(i, end = '')
else:
print(i, end = ', ')
print('>')
t는 k보다 1작아야 리스트에서 제대로 된 위치를 찾을 수 있다. 그리고 rst가 n만큼 있을 때 까지 반복문을 돌린다. 그리고 t가 len(ary)보다 작으면 냅두고 크면 len(ary)로 나눈 나머지를 t로 한다. 그리고 k번째 값을 삭제한다. 그리고나서 t에 k-1 만큼 더하는 이유는 del을 했기때문에 이미 -1을 한거나 다름없기 때문이다.
반응형
'코딩 테스트(Python) > 백준, 프로그래머스' 카테고리의 다른 글
1966 프린터 큐 (0) | 2022.02.23 |
---|---|
10816 숫자 카드 2 (0) | 2022.02.22 |
11279 최대 힙 (0) | 2022.02.14 |
4949 균형잡힌 세상 (0) | 2022.02.12 |
1927 최소 힙 (0) | 2022.02.12 |
Comments