๋ฌธ์ ๋งํฌ
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ตฌ๋ช ๋ณดํธ
๋ฌด์ธ๋์ ๊ฐํ ์ฌ๋๋ค์ ๊ตฌ๋ช ๋ณดํธ๋ฅผ ์ด์ฉํ์ฌ ๊ตฌ์ถํ๋ ค๊ณ ํฉ๋๋ค. ๊ตฌ๋ช ๋ณดํธ๋ ์์์ ํ ๋ฒ์ ์ต๋ 2๋ช ์ฉ ๋ฐ์ ํ ์ ์๊ณ , ๋ฌด๊ฒ ์ ํ๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ๊ฐ [70kg, 50kg, 80kg, 5
programmers.co.kr
์ ๊ทผ๋ฐฉ๋ฒ
๊ทธ๋ฆฌ๋ ๋ฌธ์ ๋ก ๊ฐ์ฅ ์กฐ๊ฑด์ ๊ฐ๊น์ด ๊ฒฝ์ฐ๋ฅผ ํ๋จํ๋ ๋ฌธ์ ์ด๋ค.
์ฃผ์ด์ง people ๋ฐฐ์ด์ ์ ๋ ฌํ์ฌ ์ ์ผ ๊ฐ๋ฒผ์ด ์ฌ๋๊ณผ ์ ์ผ ๋ฌด๊ฑฐ์ด ์ฌ๋์ ์ ํํ์ฌ
limit๋ณด๋ค ์์ผ๋ฉด ์ฎ๊ธฐ๊ณ , limit๋ณด๋ค ํฌ๋ฉด ๋ฌด๊ฑฐ์ด ์ฌ๋๋ง ์ฎ๊ธฐ๋ ๋ฐฉ์์ผ๋ก ์งํํ์๋ค.
๋ฐฐ์ด์
์ฒ์ ํ์ดํ ๋ฌธ์ ๊ฐ ํจ์จ์ฑ ํ ์คํธ์์ ๊ณ์ ํ๋ฝํ์๋ค.
people.shift๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์ ์ผ ์ ์์๋ฅผ ์ ๊ฑฐํ ๊ฒ์ด ๋ฌธ์ ์๋๋ฐ,
๋ฐฐ์ด์ ์ ์ผ ์ ์์๋ฅผ ์ ๊ฑฐํ ์ Index ๋ฒํธ๋ฅผ ์ฒ์๋ถํฐ ๋ค์ ์ง์ ํด์ฃผ๋ ๋นํจ์จ์ ์ธ ์์ ์ด ํ์ํ๋ค.
๋๋ฌธ์ people ๋ฐฐ์ด์ ์ง์ ๊ฑด๋๋ฆฌ์ง ์๊ณ Index๋ฒํธ๋ง ์ฆ๊ฐํ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ์๋ค.
// ์ฒ์ ํ์ด
// ํจ์จ์ฑ ํ๋ฝ
function solution(people, limit) {
var answer = 0;
people.sort((a, b) => a - b);
while (people.length) {
if (people[0] + people[people.length - 1] > limit) {
people.pop();
answer++;
} else {
people.pop();
people.shift();
answer++;
}
}
return answer;
}
// ์์ ํ ํ์ด
// ํจ์จ์ฑ ํต๊ณผ
function solution(people, limit) {
var answer = 0;
let lightPerson = 0;
let heavyPerson = people.length - 1;
people.sort((a,b) => a-b);
while(lightPerson <= heavyPerson){
if(people[lightPerson] + people[heavyPerson] > limit){
heavyPerson--;
answer++;
}else{
heavyPerson--;
lightPerson++;
answer++
}
}
return answer;
}
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] ์ซ์ ๋ธ๋ก (12923) (0) | 2022.06.15 |
---|---|
[Javascript] ํฐ ์ ๋ง๋ค๊ธฐ (42883) (0) | 2022.06.12 |
[Javascript] ์์ ์ฐพ๊ธฐ (42839) (0) | 2022.06.11 |
[Javascript] ํ๊ฒ ๋๋ฒ (43165) (0) | 2022.06.11 |
[Javascript] ๊ฐ์ฅ ํฐ ์ (42726) (0) | 2022.06.11 |