| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
- ํ์ด์ฌ
- Hyperlink Graphs
- sklearn
- ๋ฌด๊ฒฐ์ฑ์ ์ง๋ฉ์ปค๋์ฆ
- ์ธ๋๋ณ๊ฐ๋น์ง์ปฌ๋ ํฐ
- Python
- SQLDDL
- SQL
- knn_classify
- ๋ฌด๊ฒฐ์ฑ์ ์ง
- ํ
- DROPTABLE
- ์ฌ์ดํท๋ฐ
- TDD
- ์ฃผ์ฑ๋ถ ์ฐพ๊ธฐ
- CREATETABLE
- ๋ฌธ์์ด
- ์ ์ฌ์์๋ชจ๋ธ
- ํด๋ฆฐ์ฝ๋
- ALTERTABLE
- ํค ์ข ๋ฅ
- ๋ฐฑ์ค
- RENAMETABLE
- latent factor
- latent factor model
- Key ์ข ๋ฅ
- ์ปจํ ์ด๋๊ฐ์ฒด
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฌด๊ฒฐ์ฑ
- ๋ถ๊ฝ๋ฐ์ดํฐ์
- Today
- Total
DonHurry
[Python] ๋ฐฑ์ค 11866๋ฒ - ์์ธํธ์ค ๋ฌธ์ 0 ๋ณธ๋ฌธ
๐ ๋ฌธ์
11866๋ฒ: ์์ธํธ์ค ๋ฌธ์ 0
์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค. (1 ≤ K ≤ N ≤ 1,000)
www.acmicpc.net
๐ ํ์ด
ํ๋ฅผ ํ์ฉํ๋ ๋ฌธ์ ์ ๋๋ค. deque๋ฅผ ์ ์ธํ๊ณ , popleft ํจ์๋ฅผ ์ด์ฉํ๋ฉด 0๋ฒ์งธ ์ธ๋ฑ์ค์ ์์๋ฅผ O(1)์ ์ถ์ถํ ์ ์์ต๋๋ค. ์์์๋ถํฐ ์ถ์ถํ๋ฉด์, ํด๋น ์์๊ฐ K๋ฒ์งธ๋ผ๋ฉด ๊ฒฐ๊ณผ ๋ฆฌ์คํธ์ ์ถ๊ฐํด์ค๋๋ค. ์๋๋ผ๋ฉด ๊ธฐ์กด ๋ฆฌ์คํธ์ ๋ค์ ๋งจ ๋ค๋ก ์ถ๊ฐํฉ๋๋ค.
popleft ํจ์์ ๋น์ฉ์ด O(1)์ด๋๋ผ๋, ๊ฒฐ๊ณผ์ ์ผ๋ก๋ ์ ๋ถ ํ์ํด์ผํ๊ธฐ ๋๋ฌธ์ ์๊ฐ๋ณด๋ค ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ๋ฌธ์ ์์ต๋๋ค. ์คํ๋ ค pop(i)๋ฅผ ์ด์ฉํด ์ํ๋ K๋ฒ์งธ ์์๋ฅผ ์ฐ์ ์ ์ผ๋ก ๋ฝ๋ ๊ฒ์ด ๋ ํจ์จ์ด ์ข์ต๋๋ค. ์๋ ์ฝ๋๋ ํ๋ฅผ ์ด์ฉํ์์ต๋๋ค.
๐ป ์ฝ๋
import sys
import collections
input = sys.stdin.readline
N, K = map(int, input().split())
# ๋จ์ ์ซ์๋ค์ ๋ฐฐ์ด
nums = collections.deque([x for x in range(1, N+1)])
result = []
cnt = 0
while nums:
cnt += 1
# ์์์๋ถํฐ pop
num = nums.popleft()
# ๋ง์ฝ K๋ฒ์งธ๋ผ๋ฉด ๊ฒฐ๊ณผ ๋ฆฌ์คํธ์ ์ถ๊ฐ
if cnt == K:
result.append(num)
cnt = 0
# K๋ฒ์งธ๊ฐ ์๋๋ผ๋ฉด ๋ค์ nums ๋ฆฌ์คํธ์ ์ถ๊ฐ
else:
nums.append(num)
print('<', end='')
print(*result, sep=', ', end='')
print('>')
'Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Python] ๋ฐฑ์ค 21921๋ฒ - ๋ธ๋ก๊ทธ (0) | 2022.11.14 |
|---|---|
| [Python] ๋ฐฑ์ค 1100๋ฒ - ํ์ ์นธ (0) | 2022.11.13 |
| [Python] ๋ฐฑ์ค 1197๋ฒ - ์ต์ ์คํจ๋ ํธ๋ฆฌ (0) | 2022.11.10 |
| [Python] ๋ฐฑ์ค 2941๋ฒ - ํฌ๋ก์ํฐ์ ์ํ๋ฒณ (0) | 2022.11.09 |
| [Python] ๋ฐฑ์ค 14235๋ฒ - ํฌ๋ฆฌ์ค๋ง์ค ์ ๋ฌผ (0) | 2022.11.08 |