[BOJ] 17070 파이프 옮기기 1

‍csk·2023년 1월 25일
0

알고리즘

목록 보기
13/13

백준 17070번 파이프 옮기기 1 (swift) [G5]

BFS

너비 우선 탐색

생각회로

  1. 처음 방향과 위치를 큐에 넣는다.
  2. 큐에서 뺀다.
  3. 가능한 다음 위치를 큐에 넣는다.

code
코드는 dfs이다.

주의사항

+=은 =과 다르다.

// 시간초과 코드
var hubo = [(Direction, Int, Int)]()

    switch dir {
        case .horizontal:
            hubo += [(Direction.horizontal, x, y+1), (Direction.diagonal, x+1, y+1)]
        case .vertical:
            hubo += [(Direction.vertical, x+1, y), (Direction.diagonal, x+1, y+1)]
        case .diagonal:
            hubo += [(Direction.horizontal, x, y+1), (Direction.vertical, x+1, y), (Direction.diagonal, x+1, y+1)]
    }

// 통과 코드
var hubo = [(Direction, Int, Int)]()

    switch dir {
        case .horizontal:
            hubo = [(Direction.horizontal, x, y+1), (Direction.diagonal, x+1, y+1)]
        case .vertical:
            hubo = [(Direction.vertical, x+1, y), (Direction.diagonal, x+1, y+1)]
        case .diagonal:
            hubo = [(Direction.horizontal, x, y+1), (Direction.vertical, x+1, y), (Direction.diagonal, x+1, y+1)]
    }
profile
Developer

0개의 댓글