• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

아래 코드와 같이 구현해도 시간복잡도는 같을까요?

23.02.06 14:34 작성 조회수 201

0

function solution(m, arr) {
  let answer = 0;
  let n = arr.length;
  let p1 = 0;
  let p2 = 1;
  let tmp = arr[p1] + arr[p2];

  while (p2 < n) {
    if (tmp === m) {
      answer++;
      tmp = tmp - arr[p1++] + arr[++p2];
    } else if (tmp < m) {
      tmp += arr[++p2];
    } else {
      tmp -= arr[p1++];
    }
  }

  return answer;
}

let a = [1, 2, 1, 3, 1, 1, 1, 2];
console.log(solution(6, a));

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 잘 하신 코드입니다.