[DFS] 백준 2644번: 촌수계산(Swift)
·
코테
난이도: 실버 2 사용 언어: Swift 카테고리: DFS https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net Code let n = Int(readLine()!)! let sf = readLine()!.split(separator: " ").map { Int($0)! } let start = sf[0] let finish = sf[1] let m = Int(readLine()!)! var visited = Array(repea..
[BFS] 백준: 영역 구하기(Swift)
·
코테
난이도: 실버 1 사용 언어: Swift 카테고리: BFS https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net Code struct Queue { var memory = [T]() var index = 0 var isEmpty: Bool { memory.count < index + 1 } mutating func inQueue(element: T) { memory.append(element) } mutating func deQu..
[DFS] 백준 1987번: 알파벳(Swift)
·
코테
난이도: 골드 4 사용 언어: Swift 카테고리: DFS https://www.acmicpc.net/problem/1987 code let rc = readLine()!.split(separator: " ").map { Int($0)! } let r = rc[0] let c = rc[1] var map = [[Int]]() let direction: [(y: Int, x: Int)] = [ (0,-1), (0,1), (-1,0), (1,0) ] var result = 0 for _ in 0.. count ? result : count for i in 0.. 0010 C -> 0100 D -> 1000 으로 만든다. 여기서 bit가 0011이면, 지나간 알파벳이 A와 B가 된다.
[BFS] 백준: 안전 영역(Swift)
·
코테
난이도: 실버 1 사용 언어: Swift 카테고리: BFS https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net Code struct Queue { var memory = [T]() var index = 0 var isEmpty: Bool { memory.count T { le..