[BOJ] 1158 ์์ธํธ์ค ๋ฌธ์ (Pyhton / ํ์ด์ฌ)
๐งท ๋ฌธ์
https://www.acmicpc.net/problem/1158
N๋ช ์ ์ฌ๋์ด ์์ ์ด๋ฃจ๋ฉด์ ์์์์ ๋, K๋ฒ์งธ ์ฌ๋์ ๋ชจ๋ ์ฌ๋์ด ์ ๊ฑฐ๋ ๋๊น์ง ๊ณ์ ๋ฐ๋ณตํ๋ ๋ฌธ์ ์ด๋ค.
๐ ํ์ด
์ด ๋ฌธ์ ๋ฅผ ํ ๋ ์ด๋ป๊ฒ ํ์ด๊ฐ์ผ ํ๋์ง๋ณด๋ค๋ ์ด๋ป๊ฒ ์ถ๋ ฅํด์ผ ํ๋์ง ์ ๋ฅผ ๋จน์๋ค.
๋๋ถ์ ํ์ด์ฌ์ ์ถ๋ ฅํ์๊ณผ join
์ ๋ํด์ ์์๋ณผ ์ ์๋ ๊ธฐํ์๋ค.
Step 1.
n
๊ณผ k
๋ฅผ ์
๋ ฅ๋ฐ์์ค ํ์ peoples
๋ผ๋ queue๋ฅผ ๋ง๋ค์ด์ฃผ์๋ค.
peoples
์ ์์๊ฐ ์์ด์ง ๋๊น์ง while๋ฌธ์ ์ด์ฉํด k
๋ฒ ์งธ ์์๋ฅผ popleftํด์ค๊ณผ ๋์์ res
๋ผ๋ ๊ฒฐ๊ณผ ๋ฆฌ์คํธ์ append ํด์ฃผ์๋ค.
Step 2.
res
๋ฆฌ์คํธ์ ์์๋ค์ join
ํจ์๋ฅผ ์ด์ฉํ์ฌ ๋ฌธ์ ์์ ์ํ๋ ํฌ๋งท์ผ๋ก ์ถ๋ ฅํ ์ ์์๋ค.
- Pyhton์ join ํจ์
: ๋ฆฌ์คํธ์ ํน์ ๊ตฌ๋ถ์๋ฅผ ์ถ๊ฐํ์ฌ ๋ฌธ์์ด๋ก ๋ฐํํ๋ ๊ธฐ๋ฅ์ ์ํํ๋ ํจ์์ด๋ค.'๊ตฌ๋ถ์'.join(๋ฌธ์์ด ๋ฆฌ์คํธ)
์ ํํ๋ฅผ ๊ฐ์ง๋ค. ใex) '-'.join(['a', 'b', 'c']) => 'a-b-c'
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ๋ดค๋๋ฐ ๊ตณ์ด queue๋ฅผ ์ด์ฉํ์ง ์์๋ list๋ฅผ ์ด์ฉํด์ ํด๊ฒฐํ๋ ๋ด ์ฝ๋์ ๋น๊ตํด ํจ์ฌ ๋น ๋ฅธ ์๊ฐ์ ํด๊ฒฐํ ๊ฒ์ ๋ณผ ์ ์์๋ค.
๐ ๋์ ์ฝ๋
import sys
from collections import deque
input = sys.stdin.readline
if __name__ == "__main__":
n, k = map(int, input().split())
res = []
peoples = deque(range(1, n+1))
while peoples:
for _ in range(k-1):
peoples.append(peoples.popleft())
res.append(peoples.popleft())
# *** list๋ฅผ ์ด์ฉํ ๋ค๋ฅธ ๋ฐฉ๋ฒ ***
# peoples_list = list(range(1, n+1))
# index = 0
# while peoples_list:
# index = (index + k - 1) % len(peoples_list)
# res.append(peoples_list.pop(index))
print(f"<{', '.join(map(str, res))}>")
'Algorithm > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 1929 ์์ ๊ตฌํ๊ธฐ (Python / ํ์ด์ฌ) (0) | 2021.07.30 |
---|---|
[BOJ] 2609 ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (Python / ํ์ด์ฌ) (0) | 2021.07.30 |
[BOJ] 1918 ํ์ ํ๊ธฐ์ (Python / ํ์ด์ฌ) (0) | 2021.07.30 |
[BOJ] 10799 ์ ๋ง๋๊ธฐ (Python / ํ์ด์ฌ) (0) | 2021.07.30 |
[BOJ] 1874 ์คํ์์ด (Python / ํ์ด์ฌ) (0) | 2021.07.30 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[BOJ] 2609 ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (Python / ํ์ด์ฌ)
[BOJ] 2609 ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (Python / ํ์ด์ฌ)
2021.07.30 -
[BOJ] 1918 ํ์ ํ๊ธฐ์ (Python / ํ์ด์ฌ)
[BOJ] 1918 ํ์ ํ๊ธฐ์ (Python / ํ์ด์ฌ)
2021.07.30 -
[BOJ] 10799 ์ ๋ง๋๊ธฐ (Python / ํ์ด์ฌ)
[BOJ] 10799 ์ ๋ง๋๊ธฐ (Python / ํ์ด์ฌ)
2021.07.30 -
[BOJ] 1874 ์คํ์์ด (Python / ํ์ด์ฌ)
[BOJ] 1874 ์คํ์์ด (Python / ํ์ด์ฌ)
2021.07.30