์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- dfs
- ๋ธ๋ฃจํธํฌ์ค
- ๋ฐฑํธ๋ํน
- ์๊ณ ๋ฆฌ์ฆ
- ๋นํธ์ฐ์ฐ์
- ์์
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ์ฝ๋ฉํ ์คํธ
- ์ฝํ
- ๋ฌธ์์ด
- ๋ถํ ์ ๋ณต
- Queue
- SwiftUI
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก๊ทธ๋๋จธ์ค
- BFS
- ๋ถํ ์ ๋ณต
- ์คํ
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- WebApp
- Swift
- ๋ถํ ํ์
- ๋์ ํฉ
- ๋ฐฑ์ค
- ์ด์งํ์
- dp
- ios
- WebView
- Today
- Total
MUKER_DEV with iOS
[swift] ๋ฐฑ์ค - 11866๋ฒ: ์์ธํธ์ค ๋ฌธ์ 0 ๋ณธ๋ฌธ
11866๋ฒ: ์์ธํธ์ค ๋ฌธ์ 0
์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค. (1 ≤ K ≤ N ≤ 1,000)
www.acmicpc.net
๋ฌธ์ ํธ๋ ๋ฐ ์์ด ๋์์ด ๋๋๋ก ๋์ ํ์ด์ ๊ฐ์ ๋ ํ์ด๋ฅผ ์ฌ๋ฆฝ๋๋ค.
๋ํ ํ์ด ํ ๋ค๋ฅธ ์ฌ๋์ ํ์ด๋ฅผ ๋ณด๊ณ ์ฐธ๊ณ ํ ๋งํ ํ์ด๋ ์ฌ๋ฆฝ๋๋ค.
- ๋ฌธ์ ์ ๋ฐ๋ผ ๋์ ํ์ด๋ง ์์ ์ ์์ต๋๋ค.
- ํด๋น ํ์ด๋ค์ ํ์ด ์ค ํ๋์ผ ๋ฟ ์ต์ ์ ํ์ด๋ ์๋ ์ ์์ต๋๋ค.
๋ฌธ์ ์ค๋ช
๋์ ํ์ด
let input = readLine()!.split(separator: " ").map { Int($0)! }
var arr = Array((1...input[0]))
var result = [Int]()
var now = 0
while !arr.isEmpty {
now = (now + input[1]-1) % arr.count
result.append(arr[now])
arr.remove(at: now)
}
print("<", terminator: "")
print("\(result[0])", terminator: "")
for i in result[1..<result.count] { print(", \(i)", terminator: "") }
print(">")
์์ ๋ฌธ์ 1์ ์๋ก ๋ค์ด
์ ๋ ฅ ๊ฐ N๋งํผ์ ๊ธธ์ด์ arr ๋ฐฐ์ด์ ๋ง๋ค๊ณ
(N์ด 7์ด๋ผ๋ฉด [1,2,3,4,5,6,7]์ ๋ง๋ญ๋๋ค.)
๋ฐฐ์ด์ ์ํํ๋ฉฐ
์ ๋ ฅ ๊ฐ K๋งํผ ๋จ์ด์ง ๊ฑฐ๋ฆฌ์ ๊ฐ์ ์ถ์ถ ๋ฐ ์ ๊ฑฐํ์ต๋๋ค.
K๊ฐ 3์ด๋ผ๋ฉด
N์ 3๋ฒ์งธ ๊ฐ
์ฆ, ์ธ๋ฑ์ค 0 + 2์ธ
N[2]์ 3์ ์ถ์ถํ์ฌ
๋น๋ฐฐ์ด์ ํ๋ ์์ฑํ์ฌ ๋ด์์ค๋๋ค.
์ถ์ถ๋ ์ธ๋ฑ์ค ์ฆ ์ ์ 2๋ฅผ now๋ณ์์ ์ ์ฅํ๊ณ
์ถ์ถ๋ N[2]๋ ์ ๊ฑฐํฉ๋๋ค.
while๋ฌธ์ arr๋ฐฐ์ด์ด ๋น์ด์ง ๋๊น์ง ๋ฐ๋ณตํฉ๋๋ค.
๋ค์ ๊ธฐ์ตํด๋จ๋ ์ธ๋ฑ์ค N[2]๋ถํฐ + 2๋งํผ
N[4]๋ฅผ ์ถ์ถ ๋ฐ ์ ๊ฑฐํ๊ฒ ๋ฉ๋๋ค.
๋ฐฐ์ด์ ๋ฌด์ฌํ ์ํํ๊ธฐ ์ํด
% arr.count๋ฅผ ํ์ฌ
๋ฐฐ์ด ์ธ๋ฑ์ค๊ฐ ์ด๊ณผํ๋ฉด 0๋ถํฐ ๋ค์ ์ํํ ์ ์๊ฒ ํ์ต๋๋ค.
๊ฐ์ ๋ ํ์ด
print("<", terminator: "")
print("\(result[0])", terminator: "")
for i in result[1..<result.count] { print(", \(i)", terminator: "") }
print(">")
<3, 6, 2, 7, 5, 1, 4>
์ด๋ฐ ์ถ๋ ฅ ๊ฐ์ ๋ฝ๊ธฐ ์ํด
์์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์๋๋ฐ
print("<" + result.map { String($0) }.joined(separator: ", ") + ">" )
ํด๋น ์ฝ๋๋ก ๊ฐ์ ํ ์ ์์์ต๋๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ๋ฐฑ์ค - 1018๋ฒ: ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ (0) | 2023.02.11 |
---|---|
[swift] ๋ฐฑ์ค - 1436๋ฒ: ์ํ๊ฐ๋ ์ (0) | 2023.02.08 |
[swift] ๋ฐฑ์ค - 11050๋ฒ: ์ดํญ ๊ณ์ 1 (0) | 2023.02.05 |
[swift] ๋ฐฑ์ค - 2775๋ฒ: ๋ถ๋ ํ์ฅ์ด ๋ ํ ์ผ (0) | 2023.02.04 |
[swift] ๋ฐฑ์ค - 2609๋ฒ: ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (0) | 2023.02.04 |