주어진 간선들을 인접리스트 형태로 저장하고, dfs 혹은 bfs로 풀 수 있는 기본 형태의 문제.
python에서는 from collections import deque 로 덱을 임포트하여 편하게 deque 자료구조를 사용할 수 있었지만,
Swift에서는 Queue가 따로 제공되지 않는다! ( 라고 알고있다..)
따라서 q.popleft()하는 과정 없이 q에는 들어오는 원소들을 계속 쌓아두고, 현재 남아있는 원소 중 가장 밑에 있는 것,
즉, popleft()를 했다면 맨 왼쪽에 남아있을 원소의 인덱스를 idx라는 변수로 가리켰다.
처음엔 좀 불편했지만 좀 더 컴공스러운 (?) 방식인 것 같아서 매력 있는 것 같다( ㅎㅎㅎ...)
아무튼 이렇게 bfs로 구현해보았다.
백준 11404: 플로이드 (Swift) (0) | 2022.05.23 |
---|---|
백준 2805: 나무 자르기 (Swift) (0) | 2022.05.21 |
백준 2667: 단지 번호 붙이기 (Swift) (0) | 2022.05.21 |
백준 15649: N과 M (1) (Swift) (0) | 2022.05.21 |
백준 2003: 수들의 합2 (Swift) (0) | 2022.05.21 |