• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

질문이 있습니다

22.04.16 12:25 작성 조회수 108

0

선생님 방식으로도 연습해보고 다른 방식으로도 풀 수 있는지 연습하고 있는데요
아래 방식처럼 이중포문으로 돌리는 방식으로 풀어봤는데
물론 효율성면에서는 재귀보다 떨어지겠지만, 아래 풀이도 유효한 풀이인가요?

function solution(time,arr) {
      console.log(arr)
      let answer = null;

      for(let i = 0; i < arr.length; i++) {
        let t = 0;
        let sum = 0;
        for(let j =i; j < arr.length; j++) {
          t+=arr[j][1];
          if(t > time) {
            t-=arr[j][1];
            continue;
          }
          else {
            sum += arr[j][0];
            answer = Math.max(answer,sum);
          }
        }
      }
     
      return answer;
    }
    let params = [
      [10,5],[25,12],[15,8],[6,3],[7,4]
    ]
    console.log(solution(20,params))

답변 1

답변을 작성해보세요.

0

안녕하세요^^

재귀부분이니 재귀를 연습하시기 바랍니다. 그리고 공지사항에 알려드렸듯이 코드리뷰는 까지 답하기는 힘드니 양해바랍니다.