11. 임시반장 정하기 런타임 오류 피드백 부탁드립니다
287
작성한 질문수 15
비슷한 질문을 확인했는데, 제 경우에는 인덱스 범위를 맞게 설정한거 같고 인풋 아웃풋 결과도 문제가 없는거 같은데 채점 사이트에서만 런타임 오류라고 뜨네요 ㅠㅠ 왜그런지 봐주세요. 1학년부터 5학년까지라고 하셨지만 저는 5*5배열을 만들어서 해결하고 싶었습니다.아래 코드에서 어떻게 고치면 될까요??
import java.util.*; public class Main { public int solution(int n,int[][] arr){ int answer=0, max=Integer.MIN_VALUE; for(int i=0;i<n;i++){ int cnt=0; for(int j=0;j<n;j++) { for(int k =0;k<5;k++) { if(arr[i][k] == arr[j][k]){ cnt++; break; } } } if(max<cnt){ max=cnt; answer= i+1; } } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int [][] arr = new int[n][n]; for(int i=0; i<n; i++) { for (int j = 0; j < 5; j++) { arr[i][j] = kb.nextInt(); } } System.out.print(T.solution(n,arr)); } }
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
님의 질문 관련하여 살펴본 바로는, arr 배열을 int[n][n]으로 선언한 부분에 문제가 있을 수 있습니다. 문제에서 요구하는 것은 학생들의 1학년부터 5학년까지의 정보 즉, 5개의 값에 대한 정보를 다루어야 하므로 arr 배열은 int[n][5]로 선언되어야 합니다.
따라서 int [][] arr = new int[n][n]; 부분을 int [][] arr = new int[n][5];로 수정하시면 런타임 오류를 해결할 수 있을 것입니다.
런타임 오류가 발생하는 이유는 배열의 크기가 잘못 설정되어 인덱스를 벗어나는 경우, 즉 ArrayIndexOutOfBoundsException 발생할 수 있기 때문입니다. 수정 후에도 문제가 지속된다면 다른 부분에서도 유사한 인덱스 접근 오류가 없는지 다시 확인해 보시기 바랍니다.
안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.
0
27
1
갑자기 채점 사이트가 바뀌었어요
0
32
1
문제 리스트 페이지
0
27
1
채점 사이트 관련 질문드립니다
0
23
1
봉우리 문제 질문입니다
0
81
2
씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?
0
64
0
이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?
0
72
0
가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법
0
67
1
좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ
0
85
2
6-7 강의에서
0
48
1
6-6. 장난꾸러기 질문 있습니다.
0
45
1
강의 수강후 코딩테스트
0
109
1
answer 변수 사용 여부
0
44
1
2중 for문
1
85
2
2-11. 임시반장정하기 (Runtime Error)
0
63
1
혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?
0
70
1
이런 풀이는 어떨까요
0
43
1
자바 스트림 방식의 효율성 질문 드립니다.
0
57
1
알고리즘 자료 구조들..
0
62
1
StringBuilder vs BufferdWriter
0
47
1
원더랜드(프림)
0
50
1
이런 코드는 어떤가요?
0
61
1
bfs 풀이
0
57
1
병합정렬
0
56
1





