• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

while 대신 else if

23.10.14 12:34 작성 조회수 211

0

while문 사용하는 이유가 if(sum==m) answer++;

같은 코드 반복 하지 않기 위함이겠죠???

아니면 또 다른 이유가 있을까요~?

 

감사합니다.


import java.util.Scanner;

public class Main {

public int solution(int n, int m, int[] arr) {

int answer = 0, lt=0, sum=0;

for(int rt=0; rt<n; rt++) {

sum += arr[rt];

if(sum==m) answer++;

else if(sum>=m) {

sum -= arr[lt++];

if(sum==m) answer++;

} else {

sum+=arr[rt];

if(sum==m) answer++;

}

}

return answer;

}

 


 

public static void main(String[] args) {

Main T = new Main();

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

int m = sc.nextInt();

int[] arr = new int[n];

for(int i=0; i<n; i++) {

arr[i] = sc.nextInt();

}

System.out.println(T.solution(n,m,arr));

}

}


 

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. if문을 줄여 간결하게 하기 위함입니다.