graph, visited 사이즈 관련 문의
graph, visited의 사이즈를 다음 코드와 같이 노드 개수에 맞게 (n+1)로 하면 되겠다고 생각했는데, 노드 개수의 최댓값인 1000을 이용해 사이즈를 정하신 이유가 무엇인가요??
graph = [[False]*(n+1) for _ in range(n+1)]
visited = [False]*(n+1)
답변 1
2
도토리님 안녕하세요!
좋은 질문 주셔서 감사합니다. 말씀하신대로 실제로 해당 문제에서 필요한 영역은 (N + 1) x (N + 1)이기 때문에 작성해주신 방식이 가장 효율적인 방식입니다. 다만 저는 N의 최댓값인 1000으로 시작을 하면, 중간에 어떤 값이 들어오냐에 따라 신경 쓸 걸 하나 줄일 수 있어서 들어올 수 있는 최댓값을 사용했고, 간혹 문제마다 N + 1이 아니라 N + 2, N + 100 과 같이 약간씩 더 필요한 경우들이 생기는데, 너무 딱 맞춰서 할당하면 괜한 불량으로 디버깅하는 경우가 발생하더라고요. 물론, 개인 공부하실 땐 이런 디버깅도 큰 도움이 되지만, 실제 시험장에서는 이런 걸로 떨어지기 아쉬워서 넉넉히 잡아두는 것도 좋은 것 같습니다.
이렇게 해도 메모리 상에 낭비되는 영역이 크지 않아서 넉넉하게(?) 사용했다고 이해하면 될 것 같습니다!
더 궁금하신 점 있으시면 언제든 질문 남겨주세요 :) 감사합니다!
itertools, sys같은 STL을 사용할 수 없는 경우 질문드립니다.(백준 11724)
1
34
1
백준 13565 침투 질문
1
93
2
침투/섬개수 질문
1
138
2
재귀함수 질문
1
145
1
백준 1260 (DFS 와 BFS) 프린트 위치 질문
1
122
1
촌수계산(백준 2644) 질문
1
187
2
다른 주제 강의
1
138
2
graph
1
197
1
재귀 함수 Depth
1
181
1
백준 DFS
1
217
1
[바닥장식][런타임에러] 질문 있습니다.
1
292
3
그래프 짤 때 adjacency matrix vs adjacency list
1
393
2
2644문제(촌수 구하기) 질문입니다.
1
252
2
DFS 문제 하나 여쭤봅니다!..
1
297
1
다음강의
1
245
1
알고리즘 수업 - 깊이 우선 탐색 2( 백준 24480) 번 질문
1
285
1
1260 문제 풀이에서는 함수 global로 변수 선언
2
212
1
PyPy3와 Python3
1
332
1
백준 2606
1
216
1
22479번 문제 런타임 에러 도와주세요 ㅠㅠ
1
439
1
11724 문제 질문
1
305
2
그래프 초기화
1
282
1
선생님! 바이러스 문제 코드 질문있어요오
1
276
2
질문있습니다!
1
332
1





