β€οΈ Problem
- λ¬Έμ
Sμ¬μμλ κ° λΆμμ νμν λ¬Όνμ μ§μν΄ μ£ΌκΈ° μν΄ λΆμλ³λ‘ λ¬Όνμ ꡬ맀νλλ° νμν κΈμ‘μ μ‘°μ¬νμ΅λλ€. κ·Έλ¬λ, μ 체 μμ°μ΄ μ ν΄μ Έ μκΈ° λλ¬Έμ λͺ¨λ λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μλ μμ΅λλ€. κ·Έλμ μ΅λν λ§μ λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μ μλλ‘ νλ €κ³ ν©λλ€.
λ¬Όνμ κ΅¬λ§€ν΄ μ€ λλ κ° λΆμκ° μ μ²ν κΈμ‘λ§νΌμ λͺ¨λ μ§μν΄ μ€μΌ ν©λλ€. μλ₯Ό λ€μ΄ 1,000μμ μ μ²ν λΆμμλ μ νν 1,000μμ μ§μν΄μΌ νλ©°, 1,000μλ³΄λ€ μ μ κΈμ‘μ μ§μν΄ μ€ μλ μμ΅λλ€.
λΆμλ³λ‘ μ μ²ν κΈμ‘μ΄ λ€μ΄μλ λ°°μ΄ dμ μμ° budgetμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ΅λ λͺ κ°μ λΆμμ λ¬Όνμ μ§μν μ μλμ§ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
- μ ν μ¬ν
- dλ λΆμλ³λ‘ μ μ²ν κΈμ‘μ΄ λ€μ΄μλ λ°°μ΄μ΄λ©°, κΈΈμ΄(μ 체 λΆμμ κ°μ)λ 1 μ΄μ 100 μ΄νμ λλ€.
- dμ κ° μμλ λΆμλ³λ‘ μ μ²ν κΈμ‘μ λνλ΄λ©°, λΆμλ³ μ μ² κΈμ‘μ 1 μ΄μ 100,000 μ΄νμ μμ°μμ λλ€.
- budgetμ μμ°μ λνλ΄λ©°, 1 μ΄μ 10,000,000 μ΄νμ μμ°μμ λλ€.
- μ μΆλ ₯ μ & μ€λͺ
no | d | budget | result |
1 | [1,3,2,5,4] | 9 | 3 |
2 | [2,2,3,3] | 10 | 4 |
- κ° λΆμμμ [1μ, 3μ, 2μ, 5μ, 4μ]λ§νΌμ κΈμ‘μ μ μ²νμ΅λλ€. λ§μ½μ, 1μ, 2μ, 4μμ μ μ²ν λΆμμ λ¬Όνμ ꡬ맀ν΄μ£Όλ©΄ μμ° 9μμμ 7μμ΄ μλΉλμ΄ 2μμ΄ λ¨μ΅λλ€. νμ μ νν μ μ²ν κΈμ‘λ§νΌ μ§μν΄ μ€μΌ νλ―λ‘ λ¨μ 2μμΌλ‘ λλ¨Έμ§ λΆμλ₯Ό μ§μν΄ μ£Όμ§ μμ΅λλ€. μ λ°©λ² μΈμ 3κ° λΆμλ₯Ό μ§μν΄ μ€ λ°©λ²λ€μ λ€μκ³Ό κ°μ΅λλ€.
1μ, 2μ, 3μμ μ μ²ν λΆμμ λ¬Όνμ ꡬ맀ν΄μ£Όλ €λ©΄ 6μμ΄ νμν©λλ€.
1μ, 2μ, 5μμ μ μ²ν λΆμμ λ¬Όνμ ꡬ맀ν΄μ£Όλ €λ©΄ 8μμ΄ νμν©λλ€.
1μ, 3μ, 4μμ μ μ²ν λΆμμ λ¬Όνμ ꡬ맀ν΄μ£Όλ €λ©΄ 8μμ΄ νμν©λλ€.
1μ, 3μ, 5μμ μ μ²ν λΆμμ λ¬Όνμ ꡬ맀ν΄μ£Όλ €λ©΄ 9μμ΄ νμν©λλ€.
3κ° λΆμλ³΄λ€ λ λ§μ λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μλ μμΌλ―λ‘ μ΅λ 3κ° λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μ μμ΅λλ€. - λͺ¨λ λΆμμ λ¬Όνμ ꡬ맀ν΄μ£Όλ©΄ 10μμ΄ λ©λλ€. λ°λΌμ μ΅λ 4κ° λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μ μμ΅λλ€.
π Solution
νμ΄ 1
import java.util.Arrays;
class Solution {
public int solution(int[] d, int budget) {
Arrays.sort(d);
int sum = 0;
int dprt = 0;
for(int i=0; i<d.length; i++) {
sum += d[i];
if(budget < sum) {
dprt = i;
break;
} else if(budget >= sum) {
dprt = d.length;
}
}
return dprt;
}
}
μ²λ¦¬μλ GOOD
νμ΄ 2
import java.util.Arrays;
class Solution {
public int solution(int[] d, int budget) {
int dprt = 0;
Arrays.sort(d);
for (int i = 0; i < d.length; i++) {
budget -= d[i];
if (budget < 0) {
break;
}
dprt++;
}
return dprt;
}
}
μ²λ¦¬μλ GOOD
π Comment
μ΄ λ¬Έμ λ κ°λ¨νκ² νΌ νΈμ΄λ€. μΌλ¨ κ° λΆμμ μμ°μ΄ λ€μ΄μλ int[] dλ₯Ό μ€λ¦μ°¨μμΌλ‘ μ λ ¬νλ€. κ·Έ μ΄μ λ μ μ μμ°λΆν° λν΄μΌ κ°μ₯ λ§μ μμ λΆμ κ°μλ₯Ό λμΆνκΈ°κ° μ©μ΄νκΈ° λλ¬Έμ΄λ€.
νμ΄1κ³Ό νμ΄ 2μ μ°¨μ΄λ int[] λ°°μ΄μ κ°μ λμ μμΌ λν΄μ μ²λ¦¬νλμ§ λλ μ§μ budgetμμ λΉΌμ μ²λ¦¬νλμ§μ λν λΆλΆμ΄λ€.
[ νμ΄ 1 ]
for λ°λ³΅λ¬Έμ ν΅ν΄ λ°°μ΄μ κ°μ sumμ λμ μμΌ°λ€. κ·Έ λ€μ sumμ΄ budgetλ³΄λ€ ν° κ²½μ°μλ dprt(λΆμμ κ°μ)μ iλ₯Ό λ£κ³ λ°λ³΅λ¬Έμ λκ°λλ‘ μ½λλ₯Ό ꡬμ±νλ€. μ΄ λ, forλ¬Έμ΄ λͺ¨λ λμκ°λ sumμ΄ budgetλ³΄λ€ ν¬μ§ μμ κ²½μ°λ₯Ό λλΉν΄μ κ·Έ λμλ dprtμ d.length(λΆμμ μ΄ κ°μ)λ₯Ό λ£λλ‘ κ΅¬μ±νλ€.
[ νμ΄ 2 ]
νμ΄ 1κ³Ό λ¬λ¦¬, for λ°λ³΅λ¬Έ μμμ budgetμμ κ° λ°°μ΄μ κ°(κ° λΆμμ μμ°)μ λΉΌλλ‘ κ΅¬μ±νλ€. μ΄ λ, budgetμ΄ 0λ³΄λ€ μμμ§λ κ²½μ°μ ννμ¬ λ°λ³΅λ¬Έμ λκ°λλ‘ κ΅¬μ±νλ€. λ°λ³΅λ¬Έμ΄ λμκ°λ λμ dprtμ κ°μλ μ¦κ°νλ―λ‘ νμ΄ 1κ³Ό λμΌν κ²°κ³Όκ° λμ€κ² λλ€.
'Programmers lv-1' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ¬Έμμ΄ λ΄ λ§μλλ‘ μ λ ¬νκΈ° - Java [μ½λ©ν μ€νΈ μ°μ΅] (1) | 2022.12.12 |
---|---|
μ΅μμ§μ¬κ°ν - Java [μ½λ©ν μ€νΈ μ°μ΅] (0) | 2022.12.09 |
μμ μνΈ - Java [μ½λ©ν μ€νΈ μ°μ΅] (1) | 2022.12.08 |
3μ§λ² λ€μ§κΈ° - Java [μ½λ©ν μ€νΈ μ°μ΅] (0) | 2022.12.06 |
μ΄μν λ¬Έμ λ§λ€κΈ° - Java [μ½λ©ν μ€νΈ μ°μ΅] (0) | 2022.12.05 |
κ°μ μ«μλ μ«μ΄ - Java [μ½λ©ν μ€νΈ μ°μ΅] (0) | 2022.12.01 |
λκΈ