• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

구간합구하기1 (백준11659)

24.02.20 16:12 작성 24.02.20 16:13 수정 조회수 128

0

선생님이 강의하시는데로 코드쳤는데 마지막 샘플예시처럼

5 5 입력하면 => 1 이 나와야하는데 -14 가 나와버리네요

코드가 동일한데 왜 결과가 다를까요 ㅠ

이래는 작성한 코드입니다

 

public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine());

int suNo = Integer.parseInt(stringTokenizer.nextToken());// 숫자의 개수

int quizNo = Integer.parseInt(stringTokenizer.nextToken());//질의개수

long [] s = new long[suNo+1]; //합배열 선언

stringTokenizer = new StringTokenizer(bufferedReader.readLine()); //한줄로 쭉 받아올때 stringTokenizer 사용

for(int i=1; i<=suNo; i++){

s[i] = s[i-1]+Integer.parseInt(stringTokenizer.nextToken());

}

for(int i=0 ; i<s.length;i++) {

System.out.print("s:"+s[i]+" ");

}

for(int q=0; q<quizNo; q++){

stringTokenizer = new StringTokenizer(bufferedReader.readLine());

int i = Integer.parseInt(stringTokenizer.nextToken());

int j = Integer.parseInt(stringTokenizer.nextToken());

System.out.println(s[j] - s[i-1]);

}

}

답변 1

답변을 작성해보세요.

0

이현진님의 프로필

이현진

2024.02.21

일단 첫 번째로

for(int i=0 ; i<s.length;i++) { System.out.print("s:"+s[i]+" "); }

부분은 강사님 코드와 다른 것 같습니다.

그리고 두 번째로 위 코드를 제외한 부분을 인텔리제이에서 실행시켜봤는데 결과가 12 9 1로 잘 나옵니다! 혹시 입력할 때 오타가 있었던 건 아닌가요??