인프런 커뮤니티 질문&답변

윤영훈님의 프로필 이미지
윤영훈

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

4. 졸업선물

안녕하세요 선생님 코드리뷰 부탁드립니다.!

작성

·

118

0

강의 정말 잘보고 있습니다!!

다만 아쉬운점은 테스트케이스가 적어도 2개는 있으면 좋을꺼 같습니다!! 

혹시 이 풀이는 괜찮을까요?

function solution(m, product) {
  let result = [];

  for (let i = 0; i < product.length; i++) {
    // 예산
    let money = m;

    // 카운트 수
    let count = 0;

    // 상품가격 50% 할인 하기
    product[i][0] = product[i][0] * 0.5;

    // 배송비와 상품가격의 합으로 새로운 배열 만들고
    // 오름차순으로 정렬
    let sortedArr = product
      .map((value) => value.reduce((acc, cur) => acc + cur))
      .sort((a, b) => a - b);

    // 예산으로 살 수 있는 개수 체크
    for (let j = 0; j < sortedArr.length; j++) {
      if (sortedArr[j] > money) {
        break;
      }
      money -= sortedArr[j];
      count++;
    }

    result.push(count);

    // 할인했던 상품가격 다시 원래 가격으로 바꿔주기
    product[i][0] = product[i][0] * 2;
  }

  return Math.max(...result);
}

let arr = [
  [6, 6],
  [2, 2],
  [4, 3],
  [4, 5],
  [10, 3],
];
console.log(solution(28, arr));

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

잘 하신 코드입니다.

윤영훈님의 프로필 이미지
윤영훈

작성한 질문수

질문하기