자료구조(7)
-
[Clean Code] 독후감 및 정리 - 2
[Clean Code] 독후감 및 정리 - 1들어가기 앞서 (다시 읽기에 앞서)며칠 전 한 면접을 보게 되면서, "좋은 코드 가독성이라는 것을 어떻게 생각하세요 ?" 라는 질문을 받았습니다. 평소에 지키는 클린 코드라고 생각한 방법들(좋chanhhh.tistory.com지난 편 정리 및 결론 링크입니다.들어가기 앞서 (다시 읽기에 앞서) 이전에 1-3 장에 대해서 클린 코드를 읽고 주변의 프로그래머 지망생 동료와 책에 대한 얘기를 해봤습니다. 호불호가 많이 갈리는 책이다라고 얘기를 해주더라고요. 무조건적인 맹신은 지양하는 게 좋겠다는 뻔한 그런 얘기를 나눈 것 같습니다. 그래도 한 번쯤은 읽어서 좋은 인사이트를 가져가는 게 좋을 거 같다는 뻔한 얘기로 마무리되었습니다. 😊끊임없이 "왜"라는 질문을 문제..
2024.11.13 -
[Swift] (자료구조) 큐 / Queue
import Foundationclass Queue { var enQueue: [T] = [] var deQueue: [T] = [] var count: Int { return enQueue.count + deQueue.count } var isEmpty: Bool { return enQueue.isEmpty && deQueue.isEmpty } init() { } func push(_ element: T) { enQueue.append(element) } func pop() -> T { if deQueue.isEmpty { deQueue = enQueue.reversed() enQueue.removeAll() } return deQueue.popLast()! }} import Foun..
2022.08.06 -
[Swift] (자료구조) 힙 / Heap
import Foundation struct Heap { private var elements: [T] = [] private let sortFunction: (T, T) -> Bool var isEmpty: Bool { return self.elements.count == 1 } var peek: T? { if self.isEmpty { return nil } return self.elements.last! } var count: Int { return self.elements.count - 1 } init(elements: [T] = [], sortFunction: @escaping (T, T) -> Bool) { if !elements.isEmpty { self.elements = [elements..
2022.08.01 -
[Swift] (자료구조) 더블 링크드 리스트 / Doubly Linked List
Node import Foundation class Node { let id: Int let data: T var next: Node? = nil var prev: Node? = nil init(id: Int, data: T) { self.id = id self.data = data } } DoublyLinkdedList struct DoublyLinkedList { var head: Node? var tail: Node? var front: Node? { return head } var back: Node? { return tail } func showAll() { var now = head print("===== Linked List ======") while now != nil { now?.next..
2022.08.01 -
[Swift] (자료구조) 링크드 리스트 / Linked List
Node import Foundation class Node { let id: Int let data: T var next: Node? init(id: Int, data: T, next: Node? = nil) { self.id = id self.data = data self.next = next } } LinkedList struct LinkedList { var head: Node? var tail: Node? func showList() { var now = head print("===== Linked List ======") while now != nil { now?.next == nil ? print("id: \(now?.id) | data: \(now?.data)") : print("id: \..
2022.08.01