인프런 커뮤니티 질문&답변
안녕하세요 강사님. 이 풀이도 맞을까요?
작성
·
150
0
function solution(num, a) {
  let p1 = 0;
  let p2 = 0;
  let sum = 0;
  let result = 0;
  for (let i = 0; i < a.length; i++) {
    sum += a[p2++];
    if (sum > num) {
      while (sum > num) {
        sum -= a[p1++];
      }
    }
    if (sum === num) {
      result++;
    }
  }
  return result;
}
let a = [1, 2, 1, 3, 1, 1, 1, 2];
console.log(solution(6, a));
for문 시작할떄 p1포인터 대신에 let i =0로 해봤는데 답이 나오는거같긴합니다
답변 1
1
김태원
지식공유자
안녕하세요^^
잘 하신 코드입니다.
if (sum > num) {
      while (sum > num) {
        sum -= a[p1++];
      }
    }
위 부분을
while (sum > num) {
        sum -= a[p1++];
      }
if 문을 빼고 위에 같이만 해도 됩니다.





