전체 글 270

[Swift] @escaping 클로저 (escaping closure)

안녕하세요 띵지니어 입니다. 😼escaping 클로저에 대해서 포스팅 해보려고 합니다.@escaping개발을 하다 보면 위와 같은 키워드를 볼 수 있습니다.오늘은 이 키워드에 대해서 알아보려고 합니다.개념escaping 클로저의 정의는 다음과 같습니다.함수에 매개변수로 클로저를 전달할 때, 함수가 return 된 후 호출되는 클로저를 "함수를 탈출(escape)한다"라고 합니다.클로저를 파라미터로 가지는 함수를 선언할 때, 이 클로저는 탈출을 허락한다는 의미로 파라미터의 타입 앞에 @escaping을 작성할 수 있습니다.쉽게 설명하면@escaping 키워드가 클로저앞에 붙으면, 함수 종료 후에도 호출이 가능하구나~라고 이해하면 됩니다.여기서 중요한 것은 함수 종료 후에도 호출이 된다는 점입니다!!조금..

Swift 2024.12.18

백준 3273번 두 수의 합 Swift

https://www.acmicpc.net/problem/3273 내 코드let n = Int(readLine()!)!let arr = readLine()!.split(separator: " ").map { Int($0)! }.sorted()let target = Int(readLine()!)!var left = 0var right = n - 1var result = 0while left  Review이중 for문을 통해 모든 경우의 수를 다 계산을 하면 시간초과가 뜨기 때문에, 투포인터를 활용하여 풀었습니다. 예시로 아래와 같은 배열 [1, 3, 5, 10, 12] 이 있다고 하겠습니다.left가 가리키는 배열의 수와 right가 가리키는 배열의 수의 합이 target 과 같다면 결과에 1을 더해줍니다..

BOJ/Swift 2024.11.14

[프로그래머스] 가장 먼 노드 Swift

https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 코드import Foundationfunc solution(_ n: Int, _ edge: [[Int]]) -> Int { var visited: [Bool] = Array(repeating: false, count: n+1) var graph: [[Int]] = Array(repeating: [], count: n+1) var result: [Int] = Array(repeating: 0, count: n+1) ..

BOJ/Swift 2024.11.13

[iOS] SwiftUI Tutorials

https://developer.apple.com/tutorials/swiftui/creating-and-combining-views Creating and combining views | Apple Developer DocumentationThis tutorial guides you through building Landmarks — an app for discovering and sharing the places you love. You’ll start by building the view that shows a landmark’s details.developer.apple.com 안녕하세요 띵지니어 입니다. 😼SwiftUI 튜토리얼을 포스팅해보려고 합니다.공식문서에 나와있는 tutorial 을 하..

iOS 2024.11.11

[프로그래머스] 네트워크 Swift

https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 코드func dfs(_ node: Int, visited: inout [Bool], graph: inout [[Int]]) { visited[node] = true for next in graph[node] { if !visited[next] { dfs(next, visited: &visited, graph: &graph) } }}func solution(_ n: Int, ..

프로그래머스 2024.11.10

[iOS] App Life Cycle (앱의 생명 주기)

안녕하세요 띵지니어 입니다. 😼 앱의 생명 주기에 대해서 포스팅해보려고 합니다. 본글은 공식문서를 참고 하여 작성하였습니다. 앱의 생명주기는 iOS 13 이후와 이전으로 조금 달라졌습니다.앱의 생명주기에서는 앱이 Foreground 또는 Background에 있을 때 시스템 알림에 응답하고, 다른 중요한 시스템 관련 이벤트를 다룹니다. iOS 13 이상에서는 Scene 기반 앱의 LifeCycle 이벤트에 응답하기 위해 UISceneDelegate 개념을 도입 했고 iOS 12 이하에서는 UIApplicationDelegate를 사용하여 LifeCycle 이벤트에 응답합니다. SceneScene은 앱 내에서 하나의 UI 화면 및 상태를 나타냅니다. iPadOS에서 스플릿뷰와 같이 여러 앱을 동시에 사용..

iOS 2024.11.09

백준 3020번 개똥벌레 Swift

https://www.acmicpc.net/problem/3020  내 코드let input = readLine()!.split(separator: " ").map { Int($0)! }let N = input[0]let H = input[1]var list = Array(repeating: 0, count: H)// O(N)for i in 0.. Review이 문제는, N의 크기가 200,000 이므로 시간 복잡도가 O(N^2)이 넘어가면 시간 초과가 뜨게 됩니다.Imos method 이라는 유명한 문제인데, 누적합을 활용하여 풀었습니다.이모스법을 요약하면1. 벽의 시작(아래)과 끝(위)에 1과 -1을 써줍니다. 2. 해당 숫자들을 높이별로 다 더해줍니다. [3. -1, 1, -1, 1, -1, 1] ..

BOJ/Swift 2024.11.08

[프로그래머스] 행렬의 곱셈 Swift

https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 내 코드func solution(_ arr1: [[Int]], _ arr2: [[Int]]) -> [[Int]] { var result: [[Int]] = Array(repeating: Array(repeating: 0, count: arr2[0].count), count: arr1.count) for i in 0.. Review먼저 arr1 과 arr2를 곱하면 나올 수 있는 크기의 배열을 초기화 해줍니다.예를들어 3..

프로그래머스 2024.11.07

[프로그래머스] 귤 고르기 Swift

https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 처음 코드처음에는 단순하게, 문제의 아이디어만 가지고 구현에 초점을 두었습니다.tangerine = [1, 3, 2, 5, 4, 5, 2, 3] 일 때1. tangerine 배열에 숫자의 빈도수를 딕셔너리로 만든다. (순서 보장 X)[1: 1, 3: 2, 5: 2, 4: 1, 2: 2]2. 딕셔너리를 빈도수가 많은 순으로 정렬하고 리스트로 만들어 준다 (딕셔너리는 정렬을 못하기 때문에)[5, 5, 3, 3, 2, 2, 4, 1]3. 정렬..

프로그래머스 2024.10.28
반응형
목차(index)