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

성창수님의 프로필 이미지
성창수

작성한 질문수

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

3. 연속부분수열1(Two Pointers Algorithm)

while문 없이 if만 사용

작성

·

287

0

function solution(m, arr) {
  let answer = 0;
  let sum = 0;
  let lt = 0;
  for (let rt = 0; rt < arr.length; rt++) {
    if (sum < m) sum += arr[rt];
    else if (sum > m) {
      sum -= arr[lt++];
    }
    if (sum === m) {
      answer++;
      sum += arr[rt];
    }
  }
  return answer;
}
let a = [1, 2, 1, 3, 1, 1, 1, 2];

while문 없이 if만 사용해도 답이 나오던데 while문 이렇게 사용해도 문제가 없나요?

답변 1

0

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

안녕하세요^^

반례가 많은 코드입니다.

아래 입력으로 디버그해보세요.

console.log(solution(5, [1, 1, 3, 1, 1]));
성창수님의 프로필 이미지
성창수

작성한 질문수

질문하기