강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của hollis9797
hollis9797

câu hỏi đã được viết

Giới thiệu về giải quyết vấn đề thuật toán JavaScript (chuẩn bị cho bài kiểm tra mã hóa)

4. Quà tốt nghiệp

이렇게 풀어봤는데 괜찮을까요?

Viết

·

201

0

function App() {
  const solve = (m ,arr) => { 
    let answer = 0;
    let n = arr.length;
    arr.sort((a,b) => (a[0] + a[1]) - (b[0] + b[1]));

    // 50% 쿠폰, 상품

    for (let i = 0; i < n; i++) {
      let money = m - (arr[i][0] - arr[i][1]);
      let cnt = 1;
      for (let j = 0; j < n; j++) {
        if (j === i) {
          continue;
        }
        money = money - (arr[j][0] + arr[j][1])
        if (money > 0) {
          cnt ++;
        }
      }
      if (answer < cnt) {
        answer = cnt
      }
    }
    return answer
  }

  const arr = [[6,6],[2,2],[4,3],[4,5],[10,3]]
javascript코딩-테스트

Câu trả lời 1

0

hollis9797님의 프로필 이미지
hollis9797
Người đặt câu hỏi

j === i 를 같을 때를 그냥 continue 로 넘겨버렸습니다.
해서 뺀다음에 값이 0을 넘을때만 cnt 값을 증가시켜,
마지막 조건 에서 answer 값을 return 했습니다.

codingcamp님의 프로필 이미지
codingcamp
Người chia sẻ kiến thức

반례입니다. 답은 10입니다.

console.log(solution(596, [[57, 3], [85, 3], [61, 3], [98, 3], [85, 4], [47, 3], [42, 4], [95, 3], [85, 3], [82, 3], [41, 4], [64, 4], [36, 4], [100, 4], [66, 3]]));

 

Hình ảnh hồ sơ của hollis9797
hollis9797

câu hỏi đã được viết

Đặt câu hỏi