• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

while문 안 질문있습니다.

22.07.28 20:02 작성 조회수 117

0

while(sum >= m) 으로 작성해주셨는데요

while(sum > m)으로 해도 반복 횟수는 똑같은거 같은데 맞나요?

그냥 궁금해서.. 확인차 글 남깁니다 !

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 맞습니다. 사실은 아래와 같이 짜는게 더 좋은 코드입니다.

import java.util.*;
class Main {
	public int solution(int[] nums, int m){
		int answer=0;
		int sum=0;
		int lt=0;
		for(int rt=0; rt<nums.length; rt++){
			sum+=nums[rt];
			while(sum>m){
				sum-=nums[lt];
				lt++;
			}
			if(sum==m) answer++;
		}
		return answer;
	}

	public static void main(String[] args){
		Main T = new Main();
		int[] arr = new int[]{1, 2, 1, 2, 1, 2, 1};
		System.out.println(T.solution(arr, 3));
		
	}
}