강의

멘토링

로드맵

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

frenchkebab님의 프로필 이미지
frenchkebab

작성한 질문수

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

1. 계단오르기

선생님 코드 확인좀 부탁드립니다!

작성

·

194

0

function solution(arr) {
  let answer = Number.MIN_SAFE_INTEGER;
  let check = Array.from({ length: arr.length }, () => false);
  for (let i = 0i < arr.lengthi++) {
    if (!check[i]) {
      let tmp = arr[i];
      let cnt = 1;
      for (let j = i + 1j < arr.lengthj++) {
        if (tmp < arr[j]) {
          tmp = arr[j];
          check[j] = true;
          cnt++;
        }
      }
      answer = Math.max(answercnt);
    }
  }
  return answer;
}

let arr = [53786294];
console.log(solution(arr));

선생님 이렇게 이미 어딘가에 포함된 배열은 check를 해서 건너뛰는 방식으로도 풀어보았는데요,

맞게끔 푼 것인지 잘 모르겠는데 확인좀 부탁드립니다!

퀴즈

동적 계획법(Dynamic Programming)의 핵심 원리로 가장 적절한 것은 무엇일까요?

탐욕적인 선택을 통해 매 단계 최적의 해를 찾는다.

문제를 작은 단위로 나누고, 중복되는 부분 문제의 해를 기록하여 활용한다.

문제를 동일한 크기의 하위 문제로 분할한 뒤 재귀적으로 해결한다.

모든 가능한 경우를 탐색하되, 불필요한 경로는 제외하며 해를 찾는다.

답변 1

0

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

안녕하세요^^

이게 계단오르기 문제인가요?

frenchkebab님의 프로필 이미지
frenchkebab

작성한 질문수

질문하기