λ¬Όνμ κ΅¬λ§€ν΄ μ€ λλ κ° λΆμκ° μ μ²ν κΈμ‘λ§νΌμ λͺ¨λ μ§μν΄ μ€μΌ ν©λλ€. μλ₯Ό λ€μ΄ 1,000μμ μ μ²ν λΆμμλ μ νν 1,000μμ μ§μν΄μΌ νλ©°, 1,000μλ³΄λ€ μ μ κΈμ‘μ μ§μν΄ μ€ μλ μμ΅λλ€.
λΆμλ³λ‘ μ μ²ν κΈμ‘μ΄ λ€μ΄μλ λ°°μ΄ dμ μμ° budgetμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ΅λ λͺ κ°μ λΆμμ λ¬Όνμ μ§μν μ μλμ§ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- dλ λΆμλ³λ‘ μ μ²ν κΈμ‘μ΄ λ€μ΄μλ λ°°μ΄μ΄λ©°, κΈΈμ΄(μ 체 λΆμμ κ°μ)λ 1 μ΄μ 100 μ΄νμ λλ€.
- dμ κ° μμλ λΆμλ³λ‘ μ μ²ν κΈμ‘μ λνλ΄λ©°, λΆμλ³ μ μ² κΈμ‘μ 1 μ΄μ 100,000 μ΄νμ μμ°μμ λλ€.
- budgetμ μμ°μ λνλ΄λ©°, 1 μ΄μ 10,000,000 μ΄νμ μμ°μμ λλ€.
μ μΆλ ₯ μ
d | budget | result |
[1,3,2,5,4] | 9 | 3 |
[2,2,3,3] | 10 | 4 |
νμ΄:μ°μ μ§μν κΈμ‘μ μμ°μ λ§κ² μ΅λλ‘ λ°°μΉνλ €λ©΄ μκ² μ§μν κΈμ‘λΆν° μ°¨λ‘λ‘ λ£μ΄μΌνλ―λ‘ μ°μ d.sortedλ₯Ό ν΄μ μμ μλΆν° μ λ ¬ν΄μ€λ€.
κ·Έλ¦¬κ³ xλ λμμ€ μ μλ λΆμμ κ°―μ sumμ μμ°μ λνλ κ²μΌλ‘ λ³μλ₯Ό κ° κ° λ§λ€μ΄μ€ λ€
whileλ¬Έμ μ§μν κΈμ‘μ΄ μμ°λ³΄λ€ μμ λλ§ sumμ μμ°μ λνλ€. κ·Έλ¦¬κ³ μ»€μ§ κ²½μ° x-1μ ν΄μ£Όλ μ΄μ λ νμ x+1μ λ§μ§λ§μ ν΄μ£ΌκΈ° λλ¬Έμ΄λ€.
μμ°μ΄ λ¨λ κ²½μ°μ whileλ¬Έμ΄ λλ μ μμΌλ―λ‘ x+1μ΄ λΆμμ κ°―μλ³΄λ€ ν¬λ€λ©΄ whileλ¬Έμ λ©μΆκ² νλ€.
κ·Έλ¦¬κ³ xλ₯Ό λ°ννλ©΄ μ΅λλ‘ λμμ€ μ μλ λΆμμ κ°―μκ° λμ¨λ€.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import Foundation
func solution(_ d:[Int], _ budget:Int) -> Int {
let sortd = d.sorted()
var x = 0
var sum = 0
while sum < budget {
sum += sortd[x]
if sum > budget{
x -= 1
}
x += 1
if x+1 > d.count {
break
}
}
return x
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
'π Problem Solution > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
2019 KAKAO BLIND RECUITMENT μ€ν¨μ¨ Swift (0) | 2020.03.05 |
---|---|
2018 KAKAO BLIND RECUITMENT 1μ°¨ λΉλ°μ§λ Swift (0) | 2020.03.04 |
νλ‘κ·Έλλ¨Έμ€ μ§μ¬κ°ν λ³μ°κΈ° Swift (0) | 2020.03.01 |
νλ‘κ·Έλλ¨Έμ€ xλ§νΌ κ°κ²©μ΄ μλ nκ°μ μ«μ Swift (0) | 2020.03.01 |
νλ‘κ·Έλλ¨Έμ€ νλ ¬μ λ§μ Swift (0) | 2020.03.01 |
λκΈ