• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

while문 없이 if만 사용

23.02.14 21:17 작성 조회수 220

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]));