본문 바로가기

반응형

전체 글

(102)
[iOS] 기기 별 지원 정보 (OS, Face ID, Touch ID) 2021.10.18 기준 - 최신 (iOS 15.0.2) iPhone 기기명 최대 지원 버전 Face ID Touch ID iPhone 1세대 iOS 3.1.3 iPhone 3G iOS 4.2.1 iPhone 3GS iOS 6.1.6 iPhone 4 iOS 7.1.2 iPhone 4S iOS 9.3.6 iPhone 5 iOS 10.3.4 iPhone 5C iOS 10.3.3 iPhone 5S iOS 12.5.5 O iPhone 6 iOS 12.5.5 O iPhone 6+ iOS 12.5.5 O iPhone 6S iOS 15.0.2 O iPhone 6S+ iOS 15.0.2 O iPhone SE 1세대 iOS 15.0.2 O iPhone 7 iOS 15.0.2 O iPhone 7+ iOS 15.0.2 O ..
[백준] 2581번 소수 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 입력 & 출력 자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오. 풀이 소수를 구한 뒤, 이들의 최소 값과 합을 구한다. 소수는 자신을 제외한 다른 수에서 나누어 떨어지는 수로 반복문을 돌려 소수를 판별한다. Swift 전체 코드 var decimal : [Bool] = .init(repeating: true, count: 10001) var total = 0 var min = 10001 l..
[백준] BFS - 1697번 숨바꼭질 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 입력 & 출력 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 풀이 트리 형식으로 생각했다. 수빈이의 위치 값을 저장하고 ..
[백준] BFS - 7576번 토마토 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 입력 & 출력 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지, 그 최소 일수를 알고 싶어 한다. 정수 1은 익은 토마토, 정수 0은 익지 않은 토마토, 정수 -1은 토마토가 들어있지 않은 칸을 나타낸다. 풀이 BFS..
[백준] BFS - 2178번 미로탐색 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 입력 & 출력 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. (1,1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 각각의 수들은 붙어서 입력으로 주어진다. 풀이 BFS 문제로, 탐색 시 최소 이동 값을 저장하여 끝점(N, M)에 도달했을 경우 걸리는 최소 이동 거리를 구한다. Swift 전체 코드 let number = readLine()!.split(separator: " ") let heigh..
[백준] BFS - 1926번 그림 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 입력 & 출력 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력해라. 그림의 넓이란 그림에 포함된 1의 개수이다. 첫째 줄에는 그림의 개수, 둘째 줄에는 그 중 가장 넓은 그림의 넓이를 출력하여라. 단, 그림이 하나도 없는 경우에는 가장 넓은 그림의 넓이는 0이다. 풀이 BFS 문제로, 방문 기록과 현재 좌표의 상하좌우를 탐색하며 조건에 맞는 도화지를 찾아본다. Swift 전체 코드 let num = rea..
[Swift] Set 연산 세트는 중복이 없는 unique와 nil이 포함되지 않는 non-nil 순위를 정의할 수 없는 무순위 콜렉션이다. 애플 공식 문서에 적혀있듯이 Set는 형식상 Hashable 프로토콜에 부합해야한다. 세트는 배열에 비해 데이터 접근 속도가 매우 효율적이다. 크기가 n인 배열이 있을 때 이 배열 요소를 검색하기 위한 시간이 최대 O(n)이 걸린다면, 세트의 효율은 크기에 관계없이 O(1)을 유지한다. 세트 선언 및 초기화 var firstSet = Set() var secontSet : Set = ["hi", "there", "fred"] 세트는 배열 요소의 타입을 스위프트가 추측하지 않으니 직접 타입을 명시적으로 선언해주어야한다. 세트 타입을 명시하지 않은 대신, 세트에 속한 배열 요소를 함께 선언하는 ..
[Swift] 프로토콜 지향 제네릭 프로토콜 지향 설계에서는 언제나 프로토콜로 시작한다 protocol List { associatedtype T subscript(indices: E) -> [T] where E.Iterator.Element == Int { get } func length() -> Int func get(at index: Int) -> T? mutating func add(_ item: T) mutating func delete(at index: Int) } 아래는 활용편이다 선언부, 구현부로 분리하여 네트워킹 코드를 작성할 것이다 이 글은 RxSwift를 사용한다 Usecase (선언부) import RxSwift protocol PasswordUsecase: PasswordCheckUsecase, PasswordCha..

반응형