λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Programmers

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 1단계 : μ˜ˆμ‚°

by μ½”νŒŒμΉ΄ 2022. 12. 4.
728x90

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 1단계 : μ˜ˆμ‚°

μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ > Summer/Winter Coding(~2018) > μ˜ˆμ‚°


πŸ’© 문제 μ„€λͺ…

Sμ‚¬μ—μ„œλŠ” 각 λΆ€μ„œμ— ν•„μš”ν•œ λ¬Όν’ˆμ„ 지원해 μ£ΌκΈ° μœ„ν•΄ λΆ€μ„œλ³„λ‘œ λ¬Όν’ˆμ„ κ΅¬λ§€ν•˜λŠ”λ° ν•„μš”ν•œ κΈˆμ•‘μ„ μ‘°μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜, 전체 μ˜ˆμ‚°μ΄ μ •ν•΄μ Έ 있기 λ•Œλ¬Έμ— λͺ¨λ“  λΆ€μ„œμ˜ λ¬Όν’ˆμ„ ꡬ맀해 쀄 μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ μ΅œλŒ€ν•œ λ§Žμ€ λΆ€μ„œμ˜ λ¬Όν’ˆμ„ ꡬ맀해 쀄 수 μžˆλ„λ‘ ν•˜λ €κ³  ν•©λ‹ˆλ‹€.
λ¬Όν’ˆμ„ ꡬ맀해 쀄 λ•ŒλŠ” 각 λΆ€μ„œκ°€ μ‹ μ²­ν•œ κΈˆμ•‘λ§ŒνΌμ„ λͺ¨λ‘ 지원해 μ€˜μ•Ό ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 1,000원을 μ‹ μ²­ν•œ λΆ€μ„œμ—λŠ” μ •ν™•νžˆ 1,000원을 지원해야 ν•˜λ©°, 1,000원보닀 적은 κΈˆμ•‘μ„ 지원해 쀄 μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€.
λΆ€μ„œλ³„λ‘œ μ‹ μ²­ν•œ κΈˆμ•‘μ΄ λ“€μ–΄μžˆλŠ” λ°°μ—΄ d와 μ˜ˆμ‚° budget이 λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, μ΅œλŒ€ λͺ‡ 개의 λΆ€μ„œμ— λ¬Όν’ˆμ„ 지원할 수 μžˆλŠ”μ§€ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.

πŸ’© μ œν•œ 쑰건

☝️ dλŠ” λΆ€μ„œλ³„λ‘œ μ‹ μ²­ν•œ κΈˆμ•‘μ΄ λ“€μ–΄μžˆλŠ” 배열이며, 길이(전체 λΆ€μ„œμ˜ 개수)λŠ” 1 이상 100 μ΄ν•˜μž…λ‹ˆλ‹€.
✌ d의 각 μ›μ†ŒλŠ” λΆ€μ„œλ³„λ‘œ μ‹ μ²­ν•œ κΈˆμ•‘μ„ λ‚˜νƒ€λ‚΄λ©°, λΆ€μ„œλ³„ μ‹ μ²­ κΈˆμ•‘μ€ 1 이상 100,000 μ΄ν•˜μ˜ μžμ—°μˆ˜μž…λ‹ˆλ‹€.
πŸ‘Œ budget은 μ˜ˆμ‚°μ„ λ‚˜νƒ€λ‚΄λ©°, 1 이상 10,000,000 μ΄ν•˜μ˜ μžμ—°μˆ˜μž…λ‹ˆλ‹€.

πŸ’© 문제 풀이

function solution(d, budget) {
    d.sort((a, b) => a - b);
    for(i=0; i<d.length; i++){
        if(budget < d[i]) { break; }
        budget -= d[i];
    }
    return i;
}

μ‹ μ²­ κΈˆμ•‘μ„ μž‘μ€ μˆœμ„œλ‘œ λ¨Όμ € μ •λ ¬ν•΄μ£Όκ³ , for문을 μ‚¬μš©ν•˜μ—¬ κΈˆμ•‘μ„ ν•˜λ‚˜μ”© μ˜ˆμ‚°μ—μ„œ λΉΌ μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.

πŸ’© λ‹€λ₯Έ 풀이

function solution(d, budget) {
    d.sort((a, b) => a - b);
    while (d.reduce((a, b) => (a + b), 0) > budget) d.pop();
    return d.length;
}

λ‹€λ₯Έ 풀이듀이 λ‹€ νœ˜ν™©μ°¬λž€ν•΄μ„œ μ œκ°€ 이해할 수 μžˆλŠ” 풀이가 이것 밖에 μ—†λ„€μš”... μ˜ˆμ‚°μ„ λ„˜μ§€ μ•ŠλŠ” ν•œκΉŒμ§€ d λ‚΄μ˜ λͺ¨λ“  μ›μ†Œλ“€μ„ 더해주고, μ˜ˆμ‚°μ„ λ„˜μœΌλ©΄ μ›μ†Œλ₯Ό μ œκ±°ν•˜μ—¬ μ΅œμ’…μ μΈ λ°°μ—΄μ˜ 길이λ₯Ό λ°˜ν™˜ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

728x90

λŒ“κΈ€

κ°μ‚¬ν•©λ‹ˆλ‹€. πŸ¦™

CSS
κ΄‘κ³  쀀비쀑