인프런 커뮤니티 질문&답변
왜 오답인지 원인을 모르겠습니다(해결,자문자답)
해결된 질문
작성
·
404
0
오답시 틀린 테스트케이스를 확인할 수 있다는 설명을 봤는데 이 문제만 그런건지 확인할 수 없습니다ㅠ 코드 리뷰 부탁드려도 될까요?
public static int solution(int n, int m, int ar[]) {
int answer = 0, subsum = 0;
int lt=0, rt=0;
while(rt<n){ //적어도 lt<=rt임
if(subsum <m){
subsum += ar[rt++];
System.out.println(lt+"~"+(rt-1)+" subsum:"+subsum);
}
else if(subsum == m){
answer++;
subsum -= ar[lt++];
}
else{
subsum -= ar[lt++];
}
}
return answer;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[] ar = new int[n];
for (int i = 0; i < n; i++) {
ar[i] = sc.nextInt();
}
sc.close();
System.out.println(solution(n, m, ar));
}
퀴즈
51%나 틀려요. 한번 도전해보세요!
투 포인터 또는 슬라이딩 윈도우 기법을 사용하여 얻을 수 있는 가장 큰 이점은 무엇일까요?
데이터를 정렬할 필요가 없다
일반적으로 더 효율적인 시간 복잡도를 가진다
더 적은 메모리를 사용한다
모든 종류의 문제에 적용 가능하다





