์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์์
- ์ด์งํ์
- Swift
- ๋์ ํฉ
- dfs
- ์ฝ๋ฉํ ์คํธ
- ๋ฌธ์์ด
- ๋ถํ ํ์
- WebApp
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- dp
- ๋ถํ ์ ๋ณต
- Queue
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- SwiftUI
- ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ฐฑํธ๋ํน
- ๋ถํ ์ ๋ณต
- ios
- ๋นํธ์ฐ์ฐ์
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋ธ๋ฃจํธํฌ์ค
- ์ฝํ
- ๋ฐฑ์ค
- ์คํ
- WebView
- BFS
- Today
- Total
MUKER_DEV with iOS
[swift] ๋ฐฑ์ค - 10973๋ฒ: ์ด์ ์์ด ๋ณธ๋ฌธ
๋ฌธ์ ๋งํฌ
10973๋ฒ: ์ด์ ์์ด
์ฒซ์งธ ์ค์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์์ด์ ์ด์ ์ ์ค๋ ์์ด์ ์ถ๋ ฅํ๋ค. ๋ง์ฝ, ์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ์ฒ์์ ์ค๋ ์์ด์ธ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค.
www.acmicpc.net
๋ฌธ์
1๋ถํฐ N๊น์ง์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ด ์๋ค. ์ด๋, ์ฌ์ ์์ผ๋ก ๋ฐ๋ก ์ด์ ์ ์ค๋ ์์ด์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ์์๋ ์์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ด๋ฃจ์ด์ง ์์ด์ด๊ณ , ๊ฐ์ฅ ๋ง์ง๋ง์ ์ค๋ ์์ด์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ด๋ฃจ์ด์ง ์์ด์ด๋ค.
N = 3์ธ ๊ฒฝ์ฐ์ ์ฌ์ ์์ผ๋ก ์์ด์ ๋์ดํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- 1, 2, 3
- 1, 3, 2
- 2, 1, 3
- 2, 3, 1
- 3, 1, 2
- 3, 2, 1
์ ๋ ฅ
์ฒซ์งธ ์ค์ N(1 ≤ N ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์ ์์ด์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์์ด์ ์ด์ ์ ์ค๋ ์์ด์ ์ถ๋ ฅํ๋ค. ๋ง์ฝ, ์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ์ฒ์์ ์ค๋ ์์ด์ธ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค.
์์
์ฑ๊ณต ํ์ด
let N = Int(readLine()!)!
var arr = readLine()!.split {$0==" "}.map {Int($0)!}
var num = 0, big = 0
if arr.sorted() != arr {
for i in 0..<arr.count {
if i + 1 < arr.count && arr[i] > arr[i+1] {
num = i
}
}
for i in (num+1)..<arr.count {
if arr[num] > arr[i] {
big = i
}
}
arr.swapAt(num, big)
arr[(num+1)..<arr.count].sort(by:>)
print(arr.map{String($0)}.joined(separator: " "))
} else {
print(-1)
}
ํ์ด ํค์๋
'๐ค ์๊ณ ๋ฆฌ์ฆ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ๋ฐฑ์ค - 1021๋ฒ: ํ์ ํ๋ ํ (0) | 2023.08.11 |
---|---|
[swift] ๋ฐฑ์ค - 1050๋ฒ: ์ซ์ ์ ์ฌ๊ฐํ (0) | 2023.08.10 |
[swift] ๋ฐฑ์ค - 1388๋ฒ: ๋ฐ๋ฅ ์ฅ์ (0) | 2023.08.08 |
[swift] ๋ฐฑ์ค - 11576๋ฒ: Base Conversion (0) | 2023.08.08 |
[swift] ๋ฐฑ์ค - 10039๋ฒ: ํ๊ท ์ ์ (0) | 2023.08.07 |