[프로그래머스] Swift 2020 카카오 인턴십 키패드 누르기
문제 : https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 난이도 level 1 분석 : 간단한 구현 문제였다 ! 1, 4, 7번은 왼손으로 3, 6, 9번은 오른손으로 누르고 2, 5, 8, 0 숫자는 현재 있는 손 위치에서 거리가 가까운 손이 누르는 구현 문제였다. 숫자가 행끼린 3만큼 차이가 나기..
2022. 4. 8.
[Swift] Access Control (open, public, internal, fileprivate, private)
Access Control 말 그대로 코드의 접근을 제어하는 기능이다. 개별 타입(individual types)(클래스, 구조체 및 열거) 뿐만아니라, 해당 타입에 속하는 프로퍼티, 메소드, 이니셜라이저 및 첨자(subscripts)에 대해 특정 접근 레벨을 지정 할 수 있다. 프로토콜은 전역 상수, 변수 및 함수처럼 특정 컨텍스트로 제한된다. 접근 제어는 modules과 source file 대상으로 적용된다. swift는 엔티티에 대해 5가지 접근 제어 레벨을 가진다. open, public 정의된 모듈내 모든 소스 파일 내에서 사용할 수 있다. open 접근은 클래스 및 클래스 멤버에만 적용된다. struct, enum 등의 타입은 Public이 가장 최상위 접근 제어다. 클래스와 클래스 멤버에 ..
2022. 3. 29.
[프로그래머스] 가장 큰 수 STL(sort)
문제 : https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 분석 : 우선 가장 첫번째 자리가 큰 원소 먼저 정렬 되어야 하는 것으로 보인다 ! 하지만 문제는 첫번째 자리 원소가 같은 원소들이다. 예를 들어 [8, 3, 30, 34, 36] 가 있을때 기본 sort함수로 정렬하면 [8, 36, 32, 30, 3] 순으로 정렬된다. 하지만 32303보..
2022. 3. 25.
[RxSwift] Combine Operator(CombineLatest, Merge, StartWith, Concat, Zip, WithLastFrom, Sample, SwitchLatest, Debounce)
rxSwift에 대한 강의를 듣다가 자주 사용하는 operator에 대해 정리해 놓으면 좋을 것 같다는 생각이 들더라구요 그래서 오늘은 유용하게 사용되는 operator들에 대해 정리해보도록 하겠습니다 계속 operator에 관해 사용할때마다 여기에 정리해 놓을려구요 ! Combine 서로 다른 스트림을 하나의 스트림으로 합칠때 사용하는 operator CombineLatest 두 observable에서 아이템을 방출할때 가장 최신의 아이템을 결합하고, 결합된 아이템을 발행 let left = PublishSubject() let right = PublishSubject() let observable = Observable.combineLatest(left, right, resultSelector: { ..
2022. 3. 6.