
Source Code
import Foundation | |
func solution(_ jobs:[[Int]]) -> Int { | |
//νμ¬ μκ°μ μ μ₯ν λ³μ | |
var time = 0 | |
//μ 체 κΈΈμ΄λ₯Ό μ μ₯ν λ³μ | |
var total = 0 | |
//jobsλ₯Ό μμμκ°μΌλ‘ μ λ ¬ν΄μ€λ€. | |
var jobsSort = jobs.sorted(by: {$0[0] == $1[0] ? $0[1] < $1[1] : $0[0] < $1[0] }) | |
//μμμκ°μΌλ‘ μ λ ¬λ jobsλ₯Ό μμ²μκ°μΌλ‘ μ λ ¬ν΄μ€λ€. | |
jobsSort.sort(by: {$0[1] == $1[1] ? $0[0] < $1[0] : $0[1] < $1[1]}) | |
//μ λ ¬λ jobsκ° 0λ³΄λ€ ν΄λλ§ | |
while jobsSort.count > 0 { | |
//μ λ ¬λ jobsμ κΈΈμ΄λ§νΌ μν | |
for i in 0..<jobsSort.count { | |
//λ§μ½ μ λ ¬λ jobsμ μμ²μκ°μ΄ νμ¬ μκ°λ³΄λ€ μκ±°λ κ°λ€λ©΄ | |
if jobsSort[i][0] <= time { | |
//νμ¬ μκ°μ iλ²μ§Έ μμμκ°μ λν΄μ€λ€. | |
time += jobsSort[i][1] | |
//μ 체 κΈΈμ΄μ μκ°μμ μμ²μκ°μ λΊλ§νΌμ λν΄μ€λ€. | |
total += time - jobsSort[i][0] | |
//iλ²μ§Έλ₯Ό μμ ν΄μ€λ€. | |
jobsSort.remove(at: i) | |
break | |
} | |
//λ§μ½ μ무κ²λ μμ κ° μλμλ€λ©΄ | |
if i == jobsSort.count - 1 { | |
//νμ¬ μκ°μ 1μ λν΄μ€λ€. | |
time += 1 | |
} | |
} | |
} | |
//μ 체길μ΄μμ jobsμ μλ§νΌ λλ μ€κ²μ λ°νν΄μ€λ€. | |
return total/jobs.count | |
} |
Solution
κ°μ₯ μ§§κ² νκ· μ νμ±νλ €λ©΄ κΈ°λ³Έμ μΌλ‘ μμμκ°μ΄ μμ κ²λ€μ΄ λ¨Όμ μ€λλ‘ μ λ ¬ν΄μ£Όμ΄μΌ νλ€.
νμ§λ§ μ΄ λ¬Έμ μμ μμ μ΄ μνλκ³ μμ§ μμ λλ λ¨Όμ μμ²μ΄ λ€μ΄μ¨ μμ λΆν° μ€νν΄μΌ νλ€.
κ³ λ‘ μμ μ΄ μνλμ§ μμ λλ μμ²μκ°μ΄ κ°μ₯ μ μ κ²μ μμ μ΄ μνλκ³ μμ λλ μμμκ°μ΄ μμ κ²μ μ€νν΄μ£Όμ΄μΌ νλ€.
μμ κ°μ΄ μ λ ¬ν΄μ£Όλ €λ©΄ λ¨Όμ μμμκ°μ κΈ°μ€μΌλ‘ λ¨Όμ μ λ ¬ν΄μ£Όκ³ κ·Έ μ λ ¬ν΄μ€ κ²μ κΈ°λ°μΌλ‘ μμ²μκ°μΌλ‘ λ€μ μ λ ¬ν΄μ£Όμ΄μΌ νλ€.
κ·Έ λ€μ μ λ ¬λ μμ λ€μ μννλ©° 쑰건μ λ§λ μμ μ νλμ© μ§μκ°μ€λ€.
Problem
μ½λ©ν μ€νΈ μ°μ΅ - λμ€ν¬ 컨νΈλ‘€λ¬
νλλμ€ν¬λ ν λ²μ νλμ μμ λ§ μνν μ μμ΅λλ€. λμ€ν¬ 컨νΈλ‘€λ¬λ₯Ό ꡬννλ λ°©λ²μ μ¬λ¬ κ°μ§κ° μμ΅λλ€. κ°μ₯ μΌλ°μ μΈ λ°©λ²μ μμ²μ΄ λ€μ΄μ¨ μμλλ‘ μ²λ¦¬νλ κ²μ λλ€. μλ₯Ό
programmers.co.kr
'π Problem Solution > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νλ‘κ·Έλλ¨Έμ€ NμΌλ‘ νν Swift (0) | 2021.02.07 |
---|---|
νλ‘κ·Έλλ¨Έμ€ λ κ° λ½μμ λνκΈ° Swift (0) | 2021.01.23 |
νλ‘κ·Έλλ¨Έμ€ λ©λ¦¬ λ°κΈ° Swift (0) | 2020.12.29 |
νλ‘κ·Έλλ¨Έμ€ μ¬νκ²½λ‘ Swift (0) | 2020.12.28 |
νλ‘κ·Έλλ¨Έμ€ λ¨μ΄ λ³ν Swift (0) | 2020.12.11 |
λκΈ