본문 바로가기

전체 글19

Doubly Linked List 더블리 링크드 리스트 class Node: Equatable { var value: T var next: Node? var prev: Node? init(_ value: T, prev: Node? = nil, next: Node? = nil) { self.value = value self.prev = prev self.next = next } static func ==(lhs: Node, rhs: Node) -> Bool { return lhs.next == rhs.next } } class DoublyLinkedList { var head: Node? = nil var tail: Node? = nil var isEmpty: Bool { head == nil } var count: Int { var cu.. 2022. 10. 27.
T.I.L #9 22.10.26 오늘 한 것. 알고리즘 1문제(프로그래머스 3단계) https://school.programmers.co.kr/learn/courses/30/lessons/42892# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DFS로 풀어야 한다는 것을 알기까지 시간이 너무 오래 걸렸다. 2022. 10. 26.
T.I.L #8 22.10.25 오늘 한 것. 알고리즘 2문제(프로그래머스 3단계) https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 구현 문제였는데, 함수 파라미터를 잘못 넘겨준 실수 덕분에 1시간동안 고민했다. 왜 틀리지? 하면서 고민만하기보다는 일단 코드를 다시 차분히 읽는 습관을 들여야겠다. 페어 프로그래밍을 하게 되었고, SwiftLint를 적용시켰다. 2022. 10. 25.
T.I.L #7 22.10.24 오늘 한 것. 알고리즘 1문제(프로그래머스 3단계) https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 상당히 어려웠다. 처음에는 BFS로 cost를 계산하면서 풀었는데, 시간초과가 났다. 결국 카카오 해설을 보고 DFS + DP로 해결했는데, 실제 테스트였다면 코너로 인한 예외를 생각하지 못했을 거 같다. 아직 많이 부족하다. 위 상황에서 방향을 고려하지 않고 단순비용만 고려한다면 아래와 같은 상황이 된다. 이렇게 1600원이 된.. 2022. 10. 24.