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

묘다님의 프로필 이미지
묘다

작성한 질문수

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

5. 최대 매출(Sliding Window)

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

작성

·

185

0

안녕하세요 강의 잘보고있습니다 

아래와 같이 풀어봤는데, 괜찮은지 궁금하여 질문드립니다 

그리고 다른 테스트 케이스들이 예시로 있으면 더 좋을거같습니다  실제 문제풀이 사이트에서는 여러가지 케이스를 대입해서 다 통과하는지 테스트 해보는거처럼요 !

혼자 테스트하다보면 된거같다가도 나중에 반례를 찾게되고 그러네요 ㅠ

 

 

function solution(n, a) {
  let max = 0;
  let sum = 0;
  let p2 = 0;

  if (n === a.length) {
    max = a.reduce((sum, currValue) => {
      return sum + currValue;
    }, 0);
  } else {
    for (let p1 = 0; p1 < a.length; p1++) {
      if (p1 - p2 < n) {
        sum += a[p1];
      } else {
        sum += a[p1];
        sum -= a[p2];
        p2++;
        if (sum > max) max = sum;
      }
    }
  }

  return max;
}

답변 1

0

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

안녕하세요^^

네. 그러면 좋겠네요.

스스로 반례를 찾아가는게 제일 좋죠. 원래 실전은 스스로 찾아야 하니까요. 

실제 온라인 저지에서도 공부하시기 바랍니다. 

묘다님의 프로필 이미지
묘다

작성한 질문수

질문하기