2022. 11. 11. 18:38γAlgorithm
λ°±μ€ - ν μ€λ‘ μκΈ°(Swift)
λ¬Έμ μ€λͺ
https://www.acmicpc.net/problem/1138
λμ νμ΄
λ¬Έμ μμ μ£Όμ΄μ§ μλ€μ μ΄λ―Έ μ λ ¬λ μνμ μλ€μ΄λ€.
μ¦ 1λ²~Nλ²κΉμ§ ν€κ° μμλλ‘ μλ κ²μ΄λ€.
κ·Έ μνμμ μμ μ μΌμͺ½μ λͺλͺ μ΄ μλμ§λ₯Ό ꡬνλ λ¬Έμ μΈλ°, μ΄λ 곡백μ 체ν¬νλ©΄μ ν΄κ²°ν μ μλ€.
μλ₯Όλ€μ΄ 2 1 1 0μ μμΌλ‘ μ λ ₯μ΄ λ€μ΄μμλ,
첫λ²μ§Έ μ¬λμ μμ λλͺ μ΄ μλ€. μ΄λ _ _ 1 _ μ ννκ° λλ κ²μ΄λ€.
λλ²μ§Έ μ¬λμ μμ νλͺ μ΄ μκΈ°μ _ 2 1 _ κ°λκ³ ,
μΈλ²μ§Έ μ¬λμ μμ νλͺ μ΄ μκΈ° λλ¬Έμ _ 2 1 3μ΄ λλ€.
μ¦ λ€μ΄μ€λ μ«μλ μμ 곡백μ κ°μλΌκ³ μκ°ν μ μλ€.
μ΄λ₯Ό μ½λλ‘ νμ΄λ΄λ©΄ 곡백μ λ§μ£ΌμΉ λ λ μ΄μ μμ λ ν° μ«μκ° μμΌλ©΄ μλλ€λ©΄ κ°μ μ§μ νκ³ , 곡백μ λ§μ£ΌμΉ λ μμ λ ν° μ«μκ° μμ΄μΌνλ€λ©΄ μΉ΄μ΄νΈλ§ μ€μ¬μ£Όλ κ²μ΄λ€. κ·Έλ¦¬κ³ μ΄λ―Έ μ§μ λ κ°μ λ§λλ©΄ λ€μ μ λ ₯λ°λ κ°λ€μ μ΅μν μ΄ κ°λ³΄λ€λ ν¬κΈ° λλ¬Έμ cntλ₯Ό 건λ리μ§μκ³ λκ²¨μ£ΌκΈ°λ§ νλ©΄ λλ€.
import Foundation
let n = Int(readLine()!)!
let arr = readLine()!.components(separatedBy:" ").map{Int($0)!}
var visited = [Int](repeating: 0, count: n)
for (i, x) in arr.enumerated() {
var cnt = x
for j in 0..<arr.count {
if visited[j] == 0 && cnt == 0 { // 곡백μ΄λ©΄μ λ μ΄μ μμ ν° κ²μ΄ μμλ κ³ μ
visited[j] = i+1
break
} else if visited[j] == 0 { // 곡백μ΄μ§λ§ μμ λ ν° μ«μκ° μμλ λ ν° μ«μκ° λͺκ°μΈμ§λ₯Ό μλ €μ£Όλ λ³μμ μλ§ μ€μ¬μ€λ€.
cnt -= 1
} else { // μ«μκ° μ΄λ―Έ λ°°μ λμ΄μμλ μ§λμΉλ€.
continue
}
}
}
print(visited.map{String($0)}.joined(separator:" "))
'Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°±μ€ - μ»¨λ² μ΄μ΄ λ²¨νΈ μμ λ‘λ΄(Swift) (0) | 2022.11.14 |
---|---|
λ°±μ€ - λ‘λ΄ μ²μκΈ°(Swift) (0) | 2022.11.14 |
λ°±μ€ - λνΉμ λκΈ°μ΄(Swift) (1) | 2022.11.11 |
λ°±μ€ - NBAλꡬ(Swift) (0) | 2022.11.10 |
λ°±μ€ - μ€μμΉ μΌκ³ λκΈ°(Swift) (0) | 2022.11.10 |