[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] 백준 11725번: 트리의 부모 찾기(Swift)
·
코테
난이도: 실버 2 사용 언어: Swift 카테고리: DFS https://www.acmicpc.net/problem/11725 Code let n = Int(readLine()!)! var links: [[Int]] = Array(repeating: [], count: n + 1) var visited = Array(repeating: false, count: n + 1) for _ in 1..
[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..
[BFS] 백준: 적록색약(Swift)
·
코테
난이도: 골드 5 사용 언어: Swift 카테고리: BFS https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) 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 deQueue() -..