728x90
https://www.acmicpc.net/problem/10813
๋ต์์ฝ๋
// N(๋ฐ๊ตฌ๋ ๊ฐ์)๊ณผ M(๊ณต์ ๋ฐ๊พธ๋ ํ์) ์
๋ ฅ ๋ฐ๊ธฐ
let input = readLine()!.split(separator: " ").map { Int($0)! }
let N = input[0]
let M = input[1]
// ๋ฐ๊ตฌ๋ ์ด๊ธฐํ (1๋ถํฐ N๊น์ง์ ๋ฒํธ๊ฐ ์ ํ ๊ณต)
var baskets = Array(1...N)
// M๋ฒ ๊ณต ๋ฐ๊พธ๊ธฐ
for _ in 0..<M {
let swap = readLine()!.split(separator: " ").map { Int($0)! }
let i = swap[0] - 1 // ์ฒซ ๋ฒ์งธ ๋ฐ๊ตฌ๋ (0-based index๋ก ๋ณํ)
let j = swap[1] - 1 // ๋ ๋ฒ์งธ ๋ฐ๊ตฌ๋ (0-based index๋ก ๋ณํ)
// i๋ฒ์งธ ๋ฐ๊ตฌ๋์ j๋ฒ์งธ ๋ฐ๊ตฌ๋์ ๊ณต์ ๊ตํ
let temp = baskets[i]
baskets[i] = baskets[j]
baskets[j] = temp
}
// ๊ฒฐ๊ณผ ์ถ๋ ฅ
print(baskets.map { String($0) }.joined(separator: " "))
- temp๋ผ๋ ์์ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ baskets[i]์ ๊ฐ์ ์ ์ฅํฉ๋๋ค.
- baskets[i]์ baskets[j]์ ๊ฐ์ ํ ๋นํฉ๋๋ค.
- baskets[j]์ temp(์๋ baskets[i]์ ๊ฐ)๋ฅผ ํ ๋นํฉ๋๋ค.
swapAt ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ํด๊ฒฐํ ์์์ด์
// i๋ฒ์งธ ๋ฐ๊ตฌ๋์ j๋ฒ์งธ ๋ฐ๊ตฌ๋์ ๊ณต์ ๊ตํ
baskets.swapAt(i, j)
'๐ Daily Loaf > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ธ๋ก ์ฆ1][Swift]๋ฐฑ์ค1546๋ฒ(map/reduce) (1) | 2024.10.07 |
---|---|
[๋ธ๋ก ์ฆ2][Swift]๋ฐฑ์ค10811๋ฒ(reverse) (1) | 2024.10.07 |
[๋ธ๋ก ์ฆ2][Swift]๋ฐฑ์ค3052๋ฒ(Set) (0) | 2024.10.07 |
[๋ธ๋ก ์ฆ3][Swift]๋ฐฑ์ค5597(๋ฐฐ์ด) (1) | 2024.10.07 |
[๋ธ๋ก ์ฆ3][Swift]๋ฐฑ์ค10810(Array) (0) | 2024.10.05 |
[๋ธ๋ก ์ฆ5][Swift]๋ฐฑ์ค10951(while/EOF) (1) | 2024.10.04 |
[๋ธ๋ก ์ฆ5][Swift]๋ฐฑ์ค10952(while) (0) | 2024.10.04 |
[๋ธ๋ก ์ฆ5][Swift]๋ฐฑ์ค10950(ํ ์คํธ์ผ์ด์ค) (0) | 2024.10.04 |