본문 바로가기
LeetCode

1431. Kids With the Greatest Number of Candies

by 싼쵸 2022. 5. 31.
반응형

문제

문제 설명

extraCandies와 candies의 요소를 하나씩 더한 후  candies의 가장 큰 숫자보다 크거나 같으면 true가 반환이고 작으면 false 반환이다.

내 현재 풀이

/**
 * @param {number[]} candies
 * @param {number} extraCandies
 * @return {boolean[]}
 */
var kidsWithCandies = function(candies, extraCandies) {
    let max = Math.max(...candies)
    console.log('max',max)
   const arr = candies.map(data=> data + extraCandies >= max ? true : false)
    return arr
};

map 함수를 이용해서 풀었다. 

인자 하나씩 extarCandies를 더해서 max 보다 크면 true 반환하고, 작으면 false를 반환한다.

내 예전 풀이

/**
 * @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;
    let res = [];
    for(let i = 0; i < candies.length; i++){
        candies[i] + extraCandies >= maxNum ? res.push(true): res.push(false);
    }
    return res;
};

풀이는 현재 풀이와 비슷하지만 코드가 훨씬 간결해진 게 느껴진다.

다른 사람 풀이

const kidsWithCandies = (candies, extraCandies, max = Math.max(...candies)) => candies.map(candy => candy + extraCandies >= max);

한줄로 풀이한 경우다. 내가 풀이했던 방법과 거의 동일하다.

 

 

반응형

댓글