일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- gitflow
- SeSAC
- 등굣길
- DiffableDataSource
- Realm
- MainScheduler.asyncInstance
- GCD
- 코테
- rxswift
- SwiftUI
- combine
- DependencyInjection
- RaceCondition
- swift
- GIT
- MethodSwilzzling
- leetcode
- IOS
- cleanarchitecture
- 오픈채팅방
- DynamicMemberLookup
- 명품cppProgramming c++
- 청년취업사관학교
- MainScheduler.Instance
- SRP
- CoreBluetooth
- DispatchQueue
- 프로그래머스
- data_structure
- MainScheduler
- Today
- Total
목록Algorithm (12)
Do.
코테 단골 손님 이기도 한 최대공약수와 최소공배수 구하는 법 최대공약수는 유클리드 호제법을 통해서 구하는게 코딩이 훨씬 쉬운 것 같다. 최대공약수 유클리드 호제법을 통한 최대공약수 구하는 법은 간단한데 https://ko.wikipedia.org/wiki/%EC%B5%9C%EB%8C%80%EA%B3%B5%EC%95%BD%EC%88%98 최대공약수 - 위키백과, 우리 모두의 백과사전 위키미디어 재단에서는 보편적 행동 강령 의 시행 지침의 초안 에 대해서 한국어 위키백과 공동체의 의견을 받고 있습니다 ( 토론 참여하기 ) 9월 20일부터 9월 30일까지 위키문헌 에서 옛 한글문헌 전자화 프로젝트 봉사자를 모집합니다. (봉사시간 부여) 74개 언어 접힘 최대공약수 위키백과, 우리 모두의 백과사전. ..
Queue를 구현하는 방법은 일반적으로 4가지가 있다. 1. 배열을 이용하는 방법 2. 이중 연결 목록을 이용하는 방법 3. 링 버퍼를 이용하는 방법 4. 이중 스택을 이용하는 방법 이 중에서 배열을 이용하는 방법의 경우 데이터 삽입의 경우는 O(1)이나 데이터를 출력할 때는 앞에서 부터 데이터가 제거되므로 배열이 공간을 재 배열하는 만큼의 비용이 발생한다. Swift에서는 그 동작이 O(n)이다. 또 이중 연결 목록을 이용하는 방법은 노드 하나당 가지는 데이터가 value, next, previous 3개의 속성을 가지고 있기도 하고 아무래도 직관적이지도 않다. 데이터의 삽입, 출력에서 이론상 성능은 O(1)이지만 높은 오버헤드를 가지고 있다. 따라서 4가지 방법 중 가장 좋은 성능을 가지고 있고 구현..
Stack(스택)은 나중에 입력된 것이 먼저 출력되는 LIFO(Last-In First-Out) 데이터 구조를 나타낸다. 접시에 팬케이크를 쌓아올리면 가장 나중에 만들어서 올린 팬케이크를 가장 먼저 먹는 다는 것이다. 일반적으로 탑같은 모양으로 스택을 표현하기도 한다. 스택은 배열과 유사하지만 배열이 요소에 자유롭게 접근이 가능한 반면 스택은 데이터의 참조를 오로지 끝단에서만 가능하도록 제한한다. 경험상 LIFO 이 특성을 잘 인지하고 있으면 문제를 해결할 때 큰 도움이 된다. 먼저 들어온게 가장 나중에 나가도록 해야하네? 라고 생각한다면 자료를 스택 구조로 저장하면 된다는 것을 생각할 수 있기 때문이다. 필수 연산자 Stack의 필수 연산으로 다음 두가지 연산이 있다. •Push : 스택에 요소를 추가..
Given the root of a binary tree, return the level order traversal of its nodes' values. (i.e., from left to right, level by level). Example 1: Input: root = [3,9,20,null,null,15,7] Output: [[3],[9,20],[15,7]] Example 2: Input: root = [1] Output: [[1]] Example 3: Input: root = [] Output: [] Constraints: The number of nodes in the tree is in the range [0, 2000]. -1000 0, let node = queue.removeF..