강의

멘토링

커뮤니티

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

kimjinseok님의 프로필 이미지
kimjinseok

작성한 질문수

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

4. 연속부분수열(복합적 문제)

while문 안 질문있습니다.

작성

·

171

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));
		
	}
}
kimjinseok님의 프로필 이미지
kimjinseok

작성한 질문수

질문하기