전체 글
-
-
-
-
-
Greedy AlgorithmDataStructure + Algorithm/Basic Theories 2021. 10. 22. 01:11
Greedy Algorithm 은, 그때 그때의 최선을 택하는 방법으로 진행하는 알고리즘이에요. 전과 후를 생각하지 않고 당장 최선의 결과를 낼 수 있는 방향으로 진행됩니다. 어떠한 경우에는 순간순간의 앞을 내다보지 않는 선택을 통해 실제로도 최고의 결과값을 가질 수 있지만, 그렇지 않을 때도 있기 때문에 Greedy Algorithm 을 사용해도 될지 먼저 판단하는게 중요해요. 'Greedy' 라는 단어의 어감이 그리 좋게 느껴지지 않으실 수는 있겠지만, 종종 매우 효율적이고 간단한 답을 낼 수 있는 방법 중 하나에요. Dynamic programming 처럼 optimization problems 를 풀 때 사용되기도 하지만, Dynamic 과 크게 다른 점 하나는 훨씬 간단하다는 거죠. Dynami..
-
Quick Sort with SwiftDataStructure + Algorithm/Basic Theories 2021. 10. 21. 23:59
Quick Sort Quick Sort 는, Pivot 을 정해서 Pivot 에 따라 더 작은 값들, 더 큰 값 들을 나눈 후 나뉜 값들에 대해 다시 Pivot 을 정한 후 더 작은 값들, 더 큰 값을 나누는 행위를 반복하면서 마지막에는 정렬된 array 를 합치며 Sorting 하는 방법이에요. 예시를 통해 과정을 설명드릴게요 1.0. 8 개의 element 가 array 에 있다고 가정해볼게요. [6, 5, 3, 1, 8, 7, 2, 4] 1.1. Pivot 을 하나 정합니다. (가장 뒤에 있는 값으로 설정하겠습니다.) 4가 Pivot value 가 되었습니다 ! 1.2. array 에서 가장 앞에 있는 값 6 과 4를 비교합니다. 6 > 4 이므로, 6이 4의 뒤에 있으면 좋겠네요. 그렇게 하기 위..
-
Architecture Patterns ( MVC, MVP,MVVM ) ( with iOS, Swift)Architecture + Design Pattern 2021. 10. 21. 11:33
안녕하세요, 드디어 Architecture Patterns 에 대해 알아볼 시간입니다. 해당 글은 https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52 에 대한 번역과 함께 본인의 생각을 담아 작성하겠습니다. 먼저, 왜 architecture 에 대해 고민해야할까요 ? 가장 큰 이유는 아마도 app 이 커지면 커질수록 유지보수 하기가 어려워질 수 있기 때문일겁니다. Apple 에서는 MVC Pattern 을 Guide 로 주었지만 사실 MVC 에는 많은 문제가 있어요. (저도 경험하고 싶지 않았습니다.. 진작 architecture 에 대한 공부를 더 할걸 그랬어요..) 앞으로 3가지 pattern (출처에는 VIPE..