문제를 이해하는데 굉장히 오래걸린 문제였다.
1시간 정도 고민하다, 해설을 찾아보니 배열안에서 최대수를 찾은 다음 추가로 주는 캔디와 인덱스 값끼리 더해서 최대수 보다 크거나 같으면 true, 작으면 false return 해주는 문제였다.
/**
* @param {number[]} candies
* @param {number} extraCandies
* @return {boolean[]}
*/
var kidsWithCandies = function(candies, extraCandies) {
const maxNum = Math.max(...candies);
let res=candies.map(x => x + extraCandies >= maxNum) ;
return res;
};
map을 활용한 풀이 그리고 maxNum변수에 최대 값을 담고 비교해서 boolean 타입으로 돌려주었다.
/**
* @param {number[]} candies
* @param {number} extraCandies
* @return {boolean[]}
*/
var kidsWithCandies = function(candies, extraCandies) {
const maxNum = Math.max(...candies);
let res = [];
for(let i = 0; i < candies.length; i++){
candies[i] + extraCandies >= maxNum ? res.push(true): res.push(false);
}
return res;
};
삼항연산자를 통해 조건을 비교하고 push를 통해 직접넣어주었다.