Lv 1. 예산

박하린·2021년 6월 6일
0

프로그래머스

목록 보기
24/42

📚 문제

예산
https://programmers.co.kr/learn/courses/30/lessons/12982

💡 접근

d 배열에 있는 신청한 금액이 작은 것부터 budget과 같거나 작을때까지 더해서 더한 횟수를 리턴하면 된다고 생각했다.

⌨️ 코드

function solution(d, budget) {
  const dSort = d.sort((a, b) => a - b); // 금액이 작은 것부터 더하기 위해서 먼저 정렬
  let answer = 0, sum = 0;

  for (const i in dSort) {
    // 반대로 budget에서 금액을 하나씩 빼줘도 됨
    // budget -= dSort[i];
    // if (budget < 0) break; 
    sum += dSort[i]
    if (sum > budget) break
    answer++;
  }
  return answer;
}

📝 리뷰

처음에 for문 안에 있는 if문을 맨 마지막에 둬서 답이 +1 되어서 나왔는데 answer++ 하기 전에 반복문을 끝내야 답이 +1되지 않는 것이였다.
왜 이걸 헷갈린거지 ㅠㅠ

profile
깃허브: https://github.com/khakaa

0개의 댓글

관련 채용 정보