[Swift] Array의 요소를 key, value를 갖는 Dictionary로 변환하기
·
📝 코테/꿀팁
let array = [1, 1, 2, 4, 4, 4, 5] 이런 배열이 있을 때 let dict = [1: 2, 2: 1, 4: 3, 5: 1] Array의 요소를 Dictionary로 변환하고자 한다면 Dictionary의 생성자를 이용하면 좋다. let dictionary = Dictionary(array.map { ($0, 1) }, uniquingKeysWith: +) 이런식으로 쉽게 Dictionary로 변환할 수 있다.
[Swift] 백준 1927 최소 힙
·
📝 코테/BOJ
import Foundation struct Heap { private var elements = [T]() private let comparer: (T, T) -> Bool init(comparer: @escaping (T, T) -> Bool) { self.comparer = comparer } mutating func insert(element: T) { if elements.isEmpty { elements.append(element) elements.append(element) return } elements.append(element) // swim up swimUp(index: elements.count - 1) } mutating private func swimUp(index: Int) {..
[Swift] 우선순위 큐(Priority Queue) 구현해보기
·
💻 CS/자료구조
이 글은 개인적인 공부를 위해 작성된 글임을 밝힙니다. 이 글의 모든 출처는 https://jeonyeohun.tistory.com/327 이곳에 있습니다. 우선순위 큐(Priority Queue) 힙을 이용해서 가장 높은 우선순위에 있는 요소를 항상 제일 처음에 위치시키는 특별한 큐 가장 우선순위가 높은 요소가 큐에서 제거되면 그 다음 우선순위에 있는 요소가 큐의 첫 요소로 이동합니다. 힙에 대한 설명은 https://jerry311.tistory.com/55 에 있습니다. 우선순위 설정 우선순위 큐를 사용하려면 어떤 기준으로 우선순위를 정할지 지정해주어야 합니다. 지정 init(_ elements: [T] = [], _ sort: @escaping (T, T) -> Bool) { heap = Heap..
JerryiOS
Jerry