인프런 커뮤니티 질문&답변
같을때도 빼는 이유
작성
·
333
1
안녕하세요~ 태원님
강의 7분42초 쯤에 같아도 빼는 이유가 이해가 안됩니다...
public int solution(int num, int sumResult, int[] arr) {
int answer = 0;
int sum = 0;
int lt = 0;
for(int rt = 0; rt < num; rt++) {
sum += arr[rt];
if(sum == sumResult) {
answer++;
}
//같아도 빼야함
while (sum >= num) {
sum -= arr[lt++];
if(sum == num) answer++;
}
}
return answer;
}while에 해당하는 내용 입니다.
감사합니다.
답변 1
2
김태원
지식공유자
안녕하세요^^ 영상의 방법은 좋지 않은 코드라 생각되어 요즘은 아래와 같이 짭니다.
다음 코드를 잘 분석해서 익히시면 좋겠습니다. 아래 코드해설은 추석때 시간이 있어 기존 영상을 아래 코드 해설로 교체하려고 합니다.
public int solution(int num, int sumResult, int[] arr) {
int answer = 0;
int sum = 0;
int lt = 0;
for(int rt = 0; rt < num; rt++) {
sum += arr[rt];
while (sum > sumResult) {
sum -= arr[lt++];
}
if(sum == sumResult) {
answer++;
}
}
return answer;
}





