본문 바로가기

Swift224

[Swift][누적합] 백준 11659번 (구간 합 구하기4) 요구능력 누적합 문제풀이 기본적인 누적합에 대한 개념을 숙지한다면 쉽게 풀리는 문제이다. 후기 누적합의 개념에 대해 알아보았다! 코드 import Foundation let nm = readLine()!.split(separator: " ").map{Int(String($0))!} let n = nm[0] let m = nm[1] var arr = readLine()!.split(separator: " ").map{Int(String($0))!} var str = "" var prefixSum = Array(repeating: 0, count: arr.count) prefixSum[0] = arr[0] for i in stride(from: 1, to: arr.count, by: 1){ prefixSum.. 2022. 5. 30.
[Swift][우선순위 큐] 백준 11286 (절댓값 힙) 요구능력 우선순위 큐, 힙 문제풀이 최소힙 문제에서 힙에 구현해놓은 클로저를 이용해서 절댓값 비교와 절댓값이 같을 때 처리만 해주면 된다. 후기 스위프트가 이런거 처리할때는 편리하다. 코드 struct Heap { private var elements: [T] = [] private let sortFunction: (T, T) -> Bool init (sortFunction: @escaping (T, T) -> Bool){ self.sortFunction = sortFunction } var isEmpty: Bool { return self.elements.count == 1 } func leftChild(of index: Int) -> Int { return index * 2 } func rightCh.. 2022. 5. 27.
[Swift][우선순위 큐] 백준 1927, 11279 (최소힙, 최대힙) 요구능력 우선순위 큐 (힙) 문제풀이 힙과 우선순위 큐의 이론을 알고 생각하면서 따라쳐보시면 이해하기 쉽습니다. 저도 그렇게 익혔습니다. sortFunction을 로 할경우 최대힙이됩니다. 후기 우선순위큐, 힙에대해 알고있으면 풀리는 간단한문제 코드 import Foundation struct Heap { private var elements: [T] = [] private let sortFunction: (T, T) -> Bool init (sortFunction: @escaping (T, T) -> Bool){ self.sortFunction = sortFunction } var isEmpty: Bool { return self.elements.count == 1 } func leftChild(of .. 2022. 5. 27.
[Swift][이분탐색] 백준 1300번 (K번째 수) 요구능력 이분탐색(lowerBound), 수학(곱하기성질) 문제풀이 정성들여서 정리해주신분의 글을 참고하였습니다. 위 분의 글로 이해하고 swift로 푸시는 분들은 제 코드를 보셔도 괜찮을 것 같습니다. 후기 어렵다 코드 let n = Int(String(readLine()!))! let k = Int(String(readLine()!))! var start = 1 var end = n * n while start = k{//lowerBound를 해줘야 정확히 해당인덱스에 관한 수를 가져옴. mid가 다른데, count가 같은게 여러개가 있을 수도있음. //예를 들어서, mid = 4일때 count가 5이고 mid가 5일때도 count가 5이면 upperBound를 써버리면 6을 출력함. end = mi.. 2022. 5. 24.