inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편

연결 요소의 개수 (백준 11724)

graph, visited 사이즈 관련 문의

해결된 질문

356

도토리

작성한 질문수 92

2

graph, visited의 사이즈를 다음 코드와 같이 노드 개수에 맞게 (n+1)로 하면 되겠다고 생각했는데, 노드 개수의 최댓값인 1000을 이용해 사이즈를 정하신 이유가 무엇인가요??

graph = [[False]*(n+1) for _ in range(n+1)]
visited = [False]*(n+1)

 

 

python 코딩-테스트 알고리즘 dfs python3

답변 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