https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net 난이도: 골드 3 사용언어: Swift 카테코리: DFS + DP 풀이과정 문제를 보자마자 단순 DFS 문제라고 생각해서 DFS만 이용하여 탐색하였다. 하지만, 첫 제출에서 시간 초과가 발생... 시간 초과의 원인은, 문제 특성상 map에서 다른 경로이지만, 중복되는 경로가 존재할 수 있다. 가령 위 그림 처럼 50부터 32까지 두 경로가 겹친다. 이런점을 이용하여 DP(Dynamic Programmi..
난이도: 실버 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..
난이도: 실버 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..
난이도: 골드 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가 된다.
적용 화면 안녕하세요, 이번엔 textField는 가지고 있지만, TextView는 없는 Placeholder를 만들어보겠습니다. TextView에 Placeholder를 구현하는 방법은 사실 다양하지만, 저는 UILabel를 활용하여 구현해 보겠습니다. Label을 활용하는 경우 적은 코드로 쉽게 구현할 수 있으며, Placeholder가 없어지는 시점이 Text가 입력되는 순간에 없어지도록 할 수 있습니다. (더욱 Placeholder 다운 느낌🤔) 먼저, import UIKit import SnapKit final class PlaceholderTextView: UIView { } 저는 코드로 UI를 구현할 거기 때문에 UIView를 상속받는 Class를 하나 만들어 줍니다. 다음으로, UIText..
스위프트를 배우면서 배운 것을 기록하려 첫 글을 올린 후 2주 만에 글을 써보내요. 그간 ios를 배우려 부트 캠프도 지원하였고, 회사 면접도 보았으며, 자바를 이용하여 안드로이드 토이프로젝트를 만드느라 두 번째 글을 올리는데 2주라는 시간이 흘렀네요. 이번엔 스위프트 기본 문법을 배우며 낯 썰게 느껴진 옵션널에 대해 글을 남겨놓으려 합니다. 스위프트에 공식 문서에 옵션널은 "상수 또는 변수가 nil을 가질 수 있음을 나타냄"이라고 쓰여있다. 때문에 아래와 같은 장점이 있다. nil 가능성을 코드로 표현가능 변수 또는 상수가 nil 값을 가질 수 있는지 없는지 알 수 있기에 효율적이고,오류에 대한 안전한 코딩 가능 옵셔널은 enum Optional : ExpressibleByNillLiteral { ca..
- Total
- Today
- Yesterday
- 백준
- 구현
- GCD
- PhotoKit
- 코딩테스트
- 탐색
- 회고
- 코테
- 네부캠
- Swift
- 비동기
- ios
- photoUI
- 동시성
- Combine
- Race Condition
- 알고리즘
- 그리디
- 노드
- 다이나믹 프로그래밍
- 챌린지
- photos
- 실버
- 이분탐색
- 브루트포스 알고리즘
- 완전탐색
- 재귀
- dfs
- Property wrapper
- BFS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |