๋ฌธ์ ๐ฝ
https://school.programmers.co.kr/learn/courses/30/lessons/42885
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ค๋ฅธ์ฌ๋ ํ์ด ๐ฝ
function solution(people, limit) {
people.sort(function(a, b){return a-b});
for(var i=0, j=people.length-1; i < j; j--) {
if( people[i] + people[j] <= limit ) i++;
}
return people.length-i;
}
๋ดํ์ด๐ฝ
1. ์คํจ โ => ๋ ผ๋ฆฌ ์ค๋ฅ
function solution(people, limit) {
let sum = 0;
let boatCount = 1;
let weight = people.sort((a,b)=>{
return a-b
})
for(let i=0; i<weight.length; i++){
if(sum+weight[i]<=limit){
sum+=weight[i]
}else{
sum=weight[i];
++boatCount;
}
}
return boatCount;
}
2. ์ฑ๊ณต โญ
function solution(people, limit) {
let boatCount = 0;
people = people.sort((a,b)=>{
return b-a;
})
for(let i=0, j=people.length-1; i<=j; ++i,++boatCount){
if(people[i]+people[j]<=limit){
--j;
}
}
return boatCount;
}
๋๋์ ๐ฝ
2๊ฐ์ง ์ฌํญ์ ๊ฐ๊ณผํ๋ค.
ํ๋ฒ์ ์ต๋ 2๋ช ๊น์ง๋ง ๋ณดํธ๋ฅผ ํ ์ ์๋ค๋ ๊ฒ
๊ทธ๋ฆฌ๊ณ ์ต๋ํ ๋ง์ ์ฌ๋์ด ํ ์ ์์ผ๋ ค๋ฉด ์ต๋๋ชธ๋ฌด๊ฒ + ์ต์๋ชธ๋ฌด๊ฒ์ธ ์ฌ๋์ด ํจ๊ป ํ์ผ ํ๋ค๋ ๊ฒ
-> ์ 2๊ฐ์ง ์ฌํญ๋๋ฌธ์ ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ ธ๋ค.