๐ ๋ฌธ์
https://www.acmicpc.net/problem/10431
๐ ๋์ ํ์ด
์๋ ๋ฌธํด๋ ฅ์ด ๋ฌธ์ ๊ฐ? ์ ๋ฌธ์ ๋ฅผ ์ดํด๋ฅผ ๋ชปํ์ง?? ์ง์ง ๋ฉ์ฒญ์ธ๊ฐ. ํ.. ๐คฏ ์ด์จ๋ ,,
์ฌ๊ธฐ ๋ถ๋ถ์ ์ดํด๋ฅผ ๋ชปํ๋ค. ์๋ฌด๋ ํ๋ช ์ฉ ์ธ์ด๋ค๊ณ ? ๊ธฐ์กด์ ์๋ ๋ฐฐ์ด์์ ํ๋ช ์ฉ ์ฐจ๋ก๋๋ก ๋ฐ๋ ค์์ผํ๋? -> ์๋ฌด๋ ํ๋ช ์ฉ ๋ฝ๋๋ค๊ณ ? ์ด๊ฑฐ๋ ๊ทธ๋ผ ๋ญ ์ด์ฉ๋๊ฑฐ์ผ.. ์ด๋ ๊ฒ ํด์์ด ๋๋ค. ์๋,,, ๋ด๊ฐ๋ฌธ์ ๊ฐ...ํ..
์ด์จ๋ , ํด์ํ์๋ฉด ์๋ฌด๋ ํ๋ช ์ฉ ๋ฝ๋๋ค -> ์ ๋ ฅ๋ฐ์ 20๊ฐ์ ์ซ์์ค ๊ทธ๋ฅ ์ฒซ๋ฒ์งธ๋ถํฐ ์ํํ๋ฉด์ ์ค์ธ์๋ณธ๋ค. ์ด๋ป์ผ๋ก ํด์ํ๋ฉด ๋ฌธ์ ๊ฐ ํ๋ฆฐ๋ค. ์ฆ , 20๊ฐ์ ์ซ์๋ฅผ ์ ๋ ฅ๋ฐ์์? ๊ทธ๋ผ ์ฒ์๋ถํฐ ๋๋ฆฌ๋ฉด์ ์์ ๋ ํฐ๋์ด ์๋์ง ํ์ธํ๋ฉด ๋๋ ๋ฌธ์ .
์ด ๋ฌธ์ ๋ ์
๋ ฅ๋ฐ์ test case ๊ฐฏ์๋งํผ ๋๋ ค์ผํ๋ค. ๊ทธ๋์ ์
๋ ฅ๋ฐ์ p๋งํผ for๋ฌธ์ ๋๋ ค์ค ๊ฑฐ๊ณ , ๊ทธ ์์์ input์ ๋ฐ์๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ , ์
๋ ฅ๋ฐ์ input์ ๊ธฐ์ค์ผ๋ก for๋ฌธ์ ๋๋ ค์ค๊ฑด๋ฐ, ์์ ์ด๋ค๋์ด ๋ ํฐ์ง ๋ด์ผํ๊ธฐ ๋๋ฌธ์ ์ด์ค for๋ฌธ์ ์ฌ์ฉํ๋ค. ๋๋ฒ์งธ for๋ฌธ์ 0๋ถํฐ ์ง์ ๋๊น์ง ๋๋ ค์ฃผ๋ฉด๋๋ค.
๋๋ ค์ฃผ๋๋ฐ,, ์์์ ๋ฌด์กฐ๊ฑด ํฐ๋์ด๋ผ๊ณ !! ์๋ฆฌ๋ฅผ ๋ฐ๊ฟ์ฃผ๋ฉด ์๋๋ค. ํฐ๋๋ค์ค ๊ฐ์ฅ ์์๋์ ์์ ์ธ์์ผํ๋ค. ๊ทธ๋์ minHeight๋ผ๋ ๋ณ์๋ฅผ ์ฃผ๊ณ , minHeight์๋ค๊ฐ ์์ ๋๋ค์ค ๊ฐ์ฅ ํฐ๋ ๊ทธ์ค์์ ์์๋!! ์ ๋ฃ์ด์ฃผ์๋ค.
๐ ์ ๋ต ์ฝ๋
์,, ๋ฒ์ p ๊ฐ 1000์ดํ์ธ๋ฐ, height๊ฐ 1000์ดํ์ธ์ค ์๊ณ ใ ใ ใ minheight๋ฅผ 1001๋ก ๋์๋ค๊ฐ 4๋ฒํ๋ฆผ;; ํ๊ฐ ๋๋ฌด๋ฌ๋ค. ๋ด๊ฐ ์์ธ ์ผ์ด์ค๋ฅผ ๋ชป์ฐพ๋์ค ์๊ณ ... ์กฐ๊ฑด ๋ค์๋ณด๋๊น p ๊ฐ 1000์ดํ๋๋ผ ^___^ minHeight์ ์ด๊ธฐ๊ฐ์ ํฐ๋ฌด๋์๋ ํฐ ์ 999999999๋ก ๋๊ณ ํ์ด ์๋ฃ
import Foundation
let p = Int(readLine()!)!
private func solution() {
// test case ๋งํผ ๋ฐ๋ณต
for i in 1...p {
var heightArr = readLine()!.split(separator: " ").map{ Int($0)! }
heightArr.removeFirst()
var footCnt = 0
for j in 0..<heightArr.count {
var minHeight = 999999999
var minIdx = j
for k in 0..<j {
// ์์ ๋ ํฐ์ ์๋? & ์ ์ผ์์์ ๋๊ตฐ๊ฐ?
if heightArr[j] < heightArr[k], minHeight > heightArr[k] {
minHeight = heightArr[k]
minIdx = k
}
}
if minIdx != j {
let temp = heightArr[j]
heightArr.remove(at: j)
heightArr.insert(temp, at: minIdx)
footCnt += j - minIdx
}
}
print("\(i) \(footCnt)")
}
}
solution()
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] (Swift) 20291๋ฒ - ํ์ผ ์ ๋ฆฌ (๊ตฌํ) (0) | 2023.02.15 |
---|---|
[๋ฐฑ์ค] (Swift) 1244๋ฒ - ์ค์์น ์ผ๊ณ ๋๊ธฐ (๊ตฌํ) (0) | 2023.02.15 |
[๋ฐฑ์ค] (Swift) 1157๋ฒ - ๋จ์ด ๊ณต๋ถ (๊ตฌํ, ๋ธ๋ก ์ฆ 1) (0) | 2023.02.13 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Python) ๋จ์์นด๋ฉ๋ผ (lv.3, ๊ทธ๋ฆฌ๋) (0) | 2023.02.08 |
[๋ฐฑ์ค] (Swift) 1541๋ฒ - ์์ด๋ฒ๋ฆฐ ๊ดํธ (๊ทธ๋ฆฌ๋) (0) | 2023.02.06 |