전체 글

Development/iOS

[iOS] RxCocoa

RxCocoa란 Reactive한 형태를 Cocoa Framework에서도 사용할 수 있도록 하는 것을 말한다. Cocoa Framework에는 Foundation, ApplicationKit(or UIKit) 등이 있다. 1. Binder 다음 도식을 살펴보자. 여기서 핵심은 데이터가 단방향으로 흐를 수 있도록 한다는 것이다. UITextField에 글자를 쓰면 UILabel에 실시간으로 업데이트 되는 화면을 구현한다고 해보자. RxCocoa의 .bind(to: )를 사용하지 않는다면 다음과 같이 RxSwift만을 활용해 구현할 수 있다. textField.rx.text .observe(on: MainScheduler.instance) .subscribe(onNext: { label.text = $0 ..

Coding Test/문제 풀이

[문제 풀이] 프린터

코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 해결 과정 그대로 풀었는데, max() 함수 내에 빈 리스트가 들어오면 다음과 같은 런타임 에러가 발생한다. ValueError: max() arg is an empty sequence 테스트케이스 2, 5, 18번 런타임 에러 수정하면서 코드 고치니 정답. 근데 좀 간결하게 할 순 없는지 살펴보자. 나의 풀이 def solution(priorities, location): answer = 0 tupleList = [(v, k) for v, k in enumerat..

Coding Test/문제 풀이

[문제 풀이] 여행경로

코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 해결 과정 와 드디어 풀었다 ㅋ 이 문제 12월인가 처음 접했는데 이제는 문제를 외울판임 ㅋ 아무튼, 그 때 당시에는 DFS/BFS 에만 골두하느라, 현재 푼 방식을 생각을 못했던 것일 수도. 2번째 풀이 때는 모범답안을 봤었는데, 아니 어떻게 저렇게 stack을 가지고 풀 수 있나? 싶어서 우선 패스. 근데 이번에 또 만났다. 문제에서 의도한대로 깔끔하게 푼진 모르겠지만, 나름 내 생각의 흐름대로 풀었음. 나의 풀이 def s..

Coding Test/문제 풀이

[문제 풀이] 더 맵게

코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 해결 과정 모든 원소가 K 이상이 되도록 처리하는데, 처리하는 최소 횟수를 구하는 문제 일단, scoville가 정렬되어 있다는 조건이 없다는 것을 확인했다. 처음에는 정렬한 뒤에 최솟값, 최댓값을 해야 하나 생각해서 그렇게 구현했는데 최소 횟수가 안나왔다. 예시 조건 설명을 다시 살펴보니, 최솟값, 그다음 최솟값을 대상으로 계산하면 가장 최소 횟수를 구할 수 있다는 것을 알고는 이렇게 구현해서 풀었다. 추가로, 처음부터 heap을 생각한 것은 아니..

Development/iOS

[iOS] Grand Central Dispatch (GCD)

보호되어 있는 글입니다.

EUNJI HA
Day by Day