๐Ÿ‘’ ๋ญ? JS๋กœ PS๋ฅผ ํ•œ๋‹ค๊ณ ?

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ๊ตฌ๋ช…๋ณดํŠธ

์„ ๋‹ฌ 2023. 4. 27. 23:04
๋ฐ˜์‘ํ˜•

https://school.programmers.co.kr/learn/courses/30/lessons/42885

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

์œ ํ˜•์€ ๊ทธ๋ฆฌ๋””๋กœ ๋˜์–ด์žˆ์ง€๋งŒ, ์†๋„๊ฐ€ ๋Š๋ฆฐํŽธ์ธ JS ํŠน์„ฑ์ƒ ํˆฌํฌ์ธํ„ฐ๋ฅผ ๋ฉ”์ธ์œผ๋กœ ์ด์šฉํ–ˆ๋‹ค.

 

start์™€ end๋Š” ๊ฐ๊ฐ ํ˜„์žฌ ๋‚จ์•„์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์ค‘ ๊ฐ€์žฅ ๊ฐ€๋ฒผ์šด ์‚ฌ๋žŒ๊ณผ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค

๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ค€ ๋‹ค์Œ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ๋ถ€ํ„ฐ ๋ณดํŠธ๋ฅผ ํƒœ์šฐ๋Š”๋ฐ,

์ด๋•Œ ๊ฐ€์žฅ ๊ฐ€๋ฒผ์šด ์‚ฌ๋žŒ์„ ๊ฐ™์ด ํƒœ์šธ ์ˆ˜ ์žˆ๋‹ค๋ฉด ํƒœ์šฐ๊ณ  (๊ฐ€๋ฒผ์šด์‚ฌ๋žŒ ๋ฌด๊ฑฐ์šด์‚ฌ๋žŒ ํ•œ๋ช…์”ฉ ์‚ฌ๋ผ์ง, start++; end--;)

์•ˆ๋˜๋ฉด ๊ทธ๋ƒฅ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ๋งŒ ํ•œ๋ช… ๋ณด๋‚ธ๋‹ค (๋ฌด๊ฑฐ์šด์‚ฌ๋žŒ๋งŒ ํ•œ๋ช… ์‚ฌ๋ผ์ง, end--;)

function solution(people, limit) {
    let ans = 0;
    let start = 0;
    let end = people.length-1;
    people.sort((a,b) => a-b);
    while(start <= end) {
        let heavy = people[end];
        let light = people[start];
        
        if(heavy+light <= limit)
            start++;
        end--;
        ans++;
    }
    return ans;
}
๋ฐ˜์‘ํ˜•