function solution(k, score) {
let answer = [],
award = []; // 점수를 기록할 배열
// score 전체를 탐색하면서
for (const s of score) {
// award에 score을 push하고 오름차순으로 정렬
award.push(s);
award.sort((a, b) => a - b);
// award의 길이가 k보다 커지면 제일 작은 원소인 맨 앞의 원소를 shift로 제거
if (award.length > k) award.shift();
// 제일 첫번째 원소를 넣는다
answer.push(award[0]);
}
return answer;
}
사용한 메서드
Array.shift()
: 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환, 길이 변화시킴
(출처 : Array.prototype.shift())
function solution(food) {
let res = '';
for (let i = 1; i < food.length; i++) {
res += String(i).repeat(Math.floor(food[i]/2));
}
return res + '0' + [...res].reverse().join('');
}
function solution(food) {
const [water, ...half] = food.reduce((a, c, i)=> {
a[i] = Math.trunc(c / 2);
return a;
}, [])
food = half.map((num, i) => Array.from({length: num}, _ => i + 1));
return food.flat().concat(0, ...food.reverse()).join('');
}