[Algorithm] κΈ°λ₯κ°λ°
π₯ λ¬Έμ
λ¬Έμ μ€λͺ
νλ‘κ·Έλλ¨Έμ€ νμμλ κΈ°λ₯ κ°μ μμ
μ μν μ€μ
λλ€. κ° κΈ°λ₯μ μ§λκ° 100%μΌ λ μλΉμ€μ λ°μν μ μμ΅λλ€.
λ, κ° κΈ°λ₯μ κ°λ°μλλ λͺ¨λ λ€λ₯΄κΈ° λλ¬Έμ λ€μ μλ κΈ°λ₯μ΄ μμ μλ κΈ°λ₯λ³΄λ€ λ¨Όμ κ°λ°λ μ μκ³ , μ΄λ λ€μ μλ κΈ°λ₯μ μμ μλ κΈ°λ₯μ΄ λ°°ν¬λ λ ν¨κ» λ°°ν¬λ©λλ€.
λ¨Όμ λ°°ν¬λμ΄μΌ νλ μμλλ‘ μμ
μ μ§λκ° μ ν μ μ λ°°μ΄ progressesμ κ° μμ
μ κ°λ° μλκ° μ ν μ μ λ°°μ΄ speedsκ° μ£Όμ΄μ§ λ κ° λ°°ν¬λ§λ€ λͺ κ°μ κΈ°λ₯μ΄ λ°°ν¬λλμ§λ₯Ό return νλλ‘ solution ν¨μλ₯Ό μμ±νμΈμ.
μ ν μ¬ν
- μμ μ κ°μ(progresses, speedsλ°°μ΄μ κΈΈμ΄)λ 100κ° μ΄νμ λλ€.
- μμ μ§λλ 100 λ―Έλ§μ μμ°μμ λλ€.
- μμ μλλ 100 μ΄νμ μμ°μμ λλ€.
- λ°°ν¬λ ν루μ ν λ²λ§ ν μ μμΌλ©°, ν루μ λμ μ΄λ£¨μ΄μ§λ€κ³ κ°μ ν©λλ€. μλ₯Ό λ€μ΄ μ§λμ¨μ΄ 95%μΈ μμ μ κ°λ° μλκ° ν루μ 4%λΌλ©΄ λ°°ν¬λ 2μΌ λ€μ μ΄λ£¨μ΄μ§λλ€.
π€ νμ΄ λ°©λ²
- μμ
μ μ§λ : [93, 30, 55] / κ°λ° μλ : [1, 30, 5]
- 1λ² κΈ°λ₯ : 7μΌκ° μμ ν λ°°ν¬κ° κ°λ₯νλ€.
- 2λ² κΈ°λ₯ : 3μΌκ° μμ
ν λ°°ν¬κ° κ°λ₯νλ€. 1λ² κΈ°λ₯λ³΄λ€ λ¨Όμ κ°λ°λμλ€. 1λ² κΈ°λ₯κ³Ό ν¨κ» λ°°ν¬νλ€.
- 1, 2λ² κΈ°λ₯ λ°°ν¬
- 3λ² κΈ°λ₯ : 9μΌκ° μμ
ν λ°°ν¬κ° κ°λ₯νλ€.
- 3λ² κΈ°λ₯ λ°°ν¬
- μμ
μ μ§λ : [95, 90, 99, 99, 80, 99] / κ°λ° μλ : [1, 1, 1, 1, 1, 1]
- 1λ² κΈ°λ₯ : 5μΌκ° μμ
ν λ°°ν¬κ° κ°λ₯νλ€.
- 1λ² κΈ°λ₯ λ°°ν¬
- 2λ² κΈ°λ₯ : 10μΌκ° μμ ν λ°°ν¬κ° κ°λ₯νλ€.
- 3λ² κΈ°λ₯ : 1μΌκ° μμ ν λ°°ν¬κ° κ°λ₯νλ€. 2λ² κΈ°λ₯λ³΄λ€ λ¨Όμ κ°λ°λμλ€. 2λ² κΈ°λ₯κ³Ό ν¨κ» λ°°ν¬νλ€.
- 4λ² κΈ°λ₯ : 1μΌκ° μμ
ν λ°°ν¬κ° κ°λ₯νλ€. 3λ² κΈ°λ₯κ³Ό λμμ κ°λ°λμλ€. 2λ² κΈ°λ₯κ³Ό ν¨κ» λ°°ν¬νλ€.
- 2, 3, 4λ² κΈ°λ₯ λ°°ν¬
- 5λ² κΈ°λ₯ : 20μΌκ° μμ ν λ°°ν¬κ° κ°λ₯νλ€.
- 6λ² κΈ°λ₯ : 1μΌκ° μμ
ν λ°°ν¬κ° κ°λ₯νλ€. 5λ² κΈ°λ₯λ³΄λ€ λ¨Όμ κ°λ°λμλ€. 5λ² κΈ°λ₯κ³Ό ν¨κ» λ°°ν¬νλ€.
- 5, 6λ² κΈ°λ₯ λ°°ν¬
- 1λ² κΈ°λ₯ : 5μΌκ° μμ
ν λ°°ν¬κ° κ°λ₯νλ€.
π©π»π» Swift Code
import Foundation
func solution(_ progresses:[Int], _ speeds:[Int]) -> [Int] {
var progresses = progresses
var speeds = speeds
var answer: [Int] = []
while progresses != [] {
for i in 0..<progresses.count {
progresses[i] += speeds[i]
}
var count = 0
while progresses != [] && progresses.first! >= 100 {
progresses.removeFirst()
speeds.removeFirst()
count += 1
}
if count != 0 {
answer.append(count)
}
}
return answer
}
μ½λ©ν μ€νΈ μ°μ΅ - κΈ°λ₯κ°λ°
νλ‘κ·Έλλ¨Έμ€ νμμλ κΈ°λ₯ κ°μ μμ μ μν μ€μ λλ€. κ° κΈ°λ₯μ μ§λκ° 100%μΌ λ μλΉμ€μ λ°μν μ μμ΅λλ€. λ, κ° κΈ°λ₯μ κ°λ°μλλ λͺ¨λ λ€λ₯΄κΈ° λλ¬Έμ λ€μ μλ κΈ°λ₯μ΄ μμ μλ
programmers.co.kr