반응형
입력 & 출력
각 방에는 방에 들어갈 수 있는 키가 들어있다
모든 방에 출입할 수 있다면 true를 출력하라
풀이
처음부터 모든 방을 탐색하는 것이 아니다
첫번째 방을 시작으로 들어갈 수 있는 방이 주어진다
방을 방문했을 경우 해당 방에 다시 들어갈 필요는 없으니 이를 유의하며 탐색한다
Swift 전체 코드
var visit = Array(repeating: false, count: rooms.count)
visit[0] = true
func dps(start: Int, end: [Int]) {
visit[start] = true
for i in end {
if visit[i] == false {
dps(start: i, end: rooms[i])
}
}
}
dps(start: 0, end: rooms[0])
return visit.contains(false) ? false : true
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[백준] 그리디 - 11047번 동전 0 (0) | 2021.04.29 |
---|---|
[백준] 브루트포스 - 14888번 연산자 끼워넣기 (0) | 2021.04.29 |
[프로그래머스] 2019 Kakao Winter Internship - 튜플 (0) | 2021.04.15 |
[백준] 14920번 3N + 1 수열 (0) | 2021.04.13 |
[LeetCode] 79. Word Search (0) | 2021.04.12 |