분류 전체보기
-
ReactorKitLibrary 2021. 6. 16. 10:55
안녕하세요. 그린입니다🟢 이번 포스팅에서는 ReactorKit에 대해 학습해보겠습니다🧑🏻💻 ReactorKit? - 반응형 단방향 Swift 애플리케이션을 위한 써드파티 라이브러리 - Flux와 Reactive Programming의 조합으로 이루어짐 - User Action과 View는 스트림을 통해 각 계층에 전달 (스트림은 단방향) - View는 Action만 내보내고 Reactor는 State만 내보낼 수 있음 ReactorKit 사용을 위한 요구사항? - Swift 5 이상 - iOS 8 이상 - Cocoapods로만 지원 가능 (https://github.com/ReactorKit/ReactorKit) ReactorKit의 특징? - 기존 MVVM 아키텍쳐 패턴에는 특정 정형화된 템플릿이 없..
-
이분탐색을 이용한 알고리즘Algorithm 2021. 6. 15. 10:44
아래 문제는 프로그래머스에서 제공하는 입국심사의 문제입니다🧑🏻💻 문제 제시 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 retu..
-
UIKitPlusLibrary 2021. 6. 14. 20:50
안녕하세요. 그린입니다🟢 이번 포스팅에서는 UIKitPlus에 대해 알아보겠습니다🧑🏻💻 UIKitPlus? - 우선 UIKitPlus는 써드파티 라이브러리로 코코아팟 / SPM을 통해 설치할 수 있음 (주소는 요기! -> https://github.com/MihaelIsaev/UIKitPlus) - SwiftUI를 사용하여 반응형 UI를 만들어주었는데 UIKit을 그대로 사용하면서 더 간단하게 반응형 UI를 구현할 수 있음 (UIKit의 연장 느낌) - Xcode 12.3 / Swift 5.3 이상 버전에서 사용이 가능 - 미리보기 같은 경우 iOS 9 이상 환경에서 지원 - SwiftUI와 비슷한 뷰 구조로 작성되지만 UIKit의 레이아웃을 사용 - UIKitPlus를 임포트하는것으로 UIKit 대신..
-
재귀를 이용한 알고리즘Algorithm 2021. 6. 14. 10:58
아래 문제는 프로그래머스에서 제공하는 하노이의 탑의 문제입니다🧑🏻💻 문제 제시 하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 다시 쌓는 것입니다. 한 번에 하나의 원판만 옮길 수 있습니다. 큰 원판이 작은 원판 위에 있어서는 안됩니다. 하노이 탑의 세 개의 기둥을 왼쪽 부터 1번, 2번, 3번이라고 하겠습니다. 1번에는 n개의 원판이 있고 이 n개의 원판을 3번 원판으로 최소 횟수로 옮기려고 합니다. 1번 기둥에 있는..
-
Composable ArchitectureTCA 2021. 6. 11. 13:41
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Composable Architecture에 대해 학습해보겠습니다🧑🏻💻 왜 알아보게 되었는지? 앞으로는 SwiftUI와 사용자 이벤트를 통한 뷰의 업데이트 등 상태 값을 처리하는 반응형의 Combine이 많이 사용되게 될거라 생각합니다. 이에 조금 더 SwiftUI 프레임워크에 적합하고 상태를 관리함에 따라 뷰의 변화를 더 효율적으로 할 수 있는 아키텍쳐이기에 중요합니다👍🏻 Composable Architecture? 컴포저블 아키텍쳐? 사전적으로 컴포저블은 구조나 구성이라는 뜻을 가집니다. 이를 토대로 해당 아키텍쳐 패턴을 해석하자면 큰 기능들을 분리해 구조적인 모듈로 나누고 이를 이용하는것이라 판단됩니다. 아래와 같이 컴포저블 아키텍쳐를 정의해볼 수 있습니..
-
CombineCombine 2021. 6. 9. 16:27
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Combine에 대해 학습해보겠습니다🧑🏻💻 Combine을 알기전! MVVM 패턴을 따르기 위해 스토리보드 작업 대신 SwiftUI를 사용하면서 RxSwift로 구현을 해주었는데요. WWDC 2019 이후 Combine이 나타났습니다. Combine이 무엇이냐? 쉽게 생각하면 RxSwift는 써드파티 프레임워크이고 Combine은 애플에서 RxSwift의 역할을 위해 만든 퍼스트파티 프레임워크입니다. Combine을 왜 쓰냐? RxSwift를 쓰는 이유와 상충한다고 보는데요. 비동기 이벤트 처리를 하기 위함입니다. 기존에 비동기 이벤트 처리를 위해 delegate, GCD, notification center, 콜백 클로저 등을 사용했습니다. 이러한 방식의 문..
-
방금그곡Algorithm 2021. 6. 8. 14:23
아래 문제는 프로그래머스에서 제공하는 2018 KAKAO BLIND RECRUITMENT > 방금그곡의 문제입니다🧑🏻💻 문제 제시 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, 라디오 등에서 나온 음악에 관해 제목 등의 정보를 제공하는 서비스이다. 네오는 자신이 기억한 멜로디를 가지고 방금그곡을 이용해 음악을 찾는다. 그런데 라디오 방송에서는 한 음악을 반복해서 재생할 때도 있어서 네오가 기억하고 있는 멜로디는 음악 끝부분과 처음 부분이 이어서 재생된 멜로디일 수도 있다. 반대로, 한 음악을 중간에 끊을 경우 원본 음악에는 네오가 기억한 멜로디가 들어있다 해도 그 곡이 ..
-
콜라츠 추측Algorithm 2021. 6. 7. 10:26
아래 문제는 프로그래머스에서 제공하는 콜라츠 추측의 문제입니다🧑🏻💻 문제 제시 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. 제한 사항 입력..