널 포인터 에러
import java.io.*; import java.util.*; public class Main { static final int MAX = 100000 + 10; static ArrayList<Integer>[] graph; static boolean[] visited; static int[] answer; static int N, M, R; static int order; public static void dfs(int idx) { visited[idx] = true; answer[idx] = order; order++; for (int i = 0; i < graph[idx].size(); i++) { int next = graph[idx].get(i); if (!visited[next]) { dfs(next); } } } public static void main(String[] args) throws IOException { // 0. 입력 및 초기화 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); M = Integer.parseInt(st.nextToken()); R = Integer.parseInt(st.nextToken()); graph = new ArrayList[MAX]; for (int i = 1; i <= N; i++) { graph[i] = new ArrayList<>(); } visited = new boolean[MAX]; answer = new int[MAX]; order = 1; for (int i = 0; i < M; i++) { st = new StringTokenizer(br.readLine()); int x = Integer.parseInt(st.nextToken()); int y = Integer.parseInt(st.nextToken()); graph[x].add(y); graph[y].add(x); } // 2. 내림차순 정렬 for (int j = 0; j < N; j++) { Collections.sort(graph[j], Collections.reverseOrder()); } // 3. 재귀함수 출력 dfs(R); for (int k = 1; k <= N; k++) { bw.write(String.valueOf(answer[k])); bw.newLine(); } br.close(); bw.close(); } }해당 코드를 구현했는데, 널 포인터 에러가 뜹니다..!
어떤 부분에서 잘못됐는지 피드백 받고자 질문드립니다!
감사합니다
답변 1
1
버럼님 안녕하세요 :)
올려주신 코드 확인했는데 정렬하는 부분에서 반복문을 0부터 N미만까지 돌고 있어서 0번 인덱스를 접근할 때 null pointer exception이 발생하는 것 같아요!
생성하실 때는 1부터 N 이하까지 제대로 생성됐지만, sorting시의 인덱스가 잘못된 것 같고, 이것만 수정하면 큰 문제 없을 것 같습니다:)
오늘도 공부 화이팅하세요!!
dfs 부문을 이렇게 작성해도 되나요?
1
74
1
x랑 y를 거꾸로 쓰는 개념이 너무 헷갈립니다...
1
96
2
dfs 파라미터에 count를 넣는이유
1
64
2
graph 채울때 for문 설계 질문
1
72
2
질문있습니다.
1
74
1
다른 강의 언제나오나용?
1
93
2
노드간 거리 계산
1
145
1
안녕하세요, 혹시 다른문제도 여쭤볼 수 있을까요?
1
130
1
최근에 올린 질문, 코드블럭으로 공유드립니다!
1
143
1
질문이 있습니다. dfs 메서드에 order를 이렇게 구현하면 안되는 이유가 무엇인가요?
0
134
2
깊이우선탐색2 백준 24480 수업노트에...
1
119
1
백준 24479 문제 제출 결과 "틀렸습니다" 라고만 나와서 어떤 부분이 틀렸는지 잘 모르겠어요 피드백 부탁드립니다
1
250
3
graph 만들때 boolean[][] 으로 만드는 경우랑 int[][] 나 ArrayList<Integer>[] 로 만드는 기준이 어떻게 되나요?
1
202
2
graph를 2차원 배열 또는 List로 하는 기준을 어떤식으로 잡으면 좋을까요...?
1
224
1
강사님 안녕하세요! 깊이 우선 탐색 2 (백준 24480)에서 제공하는 풀이 코드에서 궁금한 점이 있어서 질문 드립니다!
1
327
3
촌수 계산
1
354
3
연결 요소의 개수 (백준 11724)
1
267
1
백준 24479 문제 시간 초과 질문 드려요
1
382
1
백준 실행시 틀립니다.
1
372
1
재귀대신 스택으로 구현하면 안될까요?
1
409
1
dfs 매개변수에서 y,x 를 왜 순서를 반대로 쓰셨는지 궁금합니다.
1
371
1
안녕하세요 11724번 질문드려요!
2
315
1
출력할 때 BufferedWriter? StringBuilder?
1
510
1
answer++ 위치 질문
1
256
1





