[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가 된다.
[iOS] TextView Placeholder 구현하기
·
iOS
적용 화면 안녕하세요, 이번엔 textField는 가지고 있지만, TextView는 없는 Placeholder를 만들어보겠습니다. TextView에 Placeholder를 구현하는 방법은 사실 다양하지만, 저는 UILabel를 활용하여 구현해 보겠습니다. Label을 활용하는 경우 적은 코드로 쉽게 구현할 수 있으며, Placeholder가 없어지는 시점이 Text가 입력되는 순간에 없어지도록 할 수 있습니다. (더욱 Placeholder 다운 느낌🤔) 먼저, import UIKit import SnapKit final class PlaceholderTextView: UIView { } 저는 코드로 UI를 구현할 거기 때문에 UIView를 상속받는 Class를 하나 만들어 줍니다. 다음으로, UIText..
[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() -..
[BFS] 백준: 섬의 개수(Swift)
·
코테
난이도: 실버2 사용 언어: Swift 카테고리: BFS https://www.acmicpc.net/problem/4963 Code struct Queue { var memory = [T]() var index = 0 var isEmpty: Bool { memory.count T { let v = memory[index] index += 1 return v } } var results = [Int]() while true { let wh = readLine()!.split(separator: " ").map { Int($0)..
[DFS]백준: 연결 요소의 개수(Swift)
·
코테
난이도: 실버2 사용 언어: Swift 카테고리: DFS https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net code let nm = readLine()!.split(separator: " ").map { Int($0)! } let n = nm[0] let m = nm[1] var link = Array(repeating: Array(repeating: false, count: n + ..