전체 글

Development/iOS

[iOS] Managing Content in Your App's Windows (앱 윈도우에서 컨텐츠 관리하기)

Overview Scene에는 하나의 Window 객체와 그 내부에 있는 여러 View 객체로 이뤄진다. Window -> 보이지 않는 최상위 레벨의 Container, Event를 Views들에 라우팅 한다. 수명이 길다 View -> 보이는 실제 컨텐츠들. ex) 텍스트, 이미지 등, 보통 Window내에서 자주 바뀐다. UIKit은 이런 Views를 쉽게 관리하기 위해 ViewControllers를 제공한다. ViewController란 View의 집합체를 관리하는 역할을 한다. Window에는 최상위 루트 ViewController가 존재하고, 다른 ViewConotroller에 있는 View 집합을 보여주고 싶다면, ViewController를 present 하거나 dismiss 하면 된다. 이..

Coding Test/정리

[Swift] Swift를 이용한 문제 풀이

프로그래머스 Lv1 남은 문제들을 Swift로 풀어보면서 얻었던 IDEA들을 정리했다. map, filter, reduce func solution(_ arr:[Int], _ divisor:Int) -> [Int] { let array = arr.sorted().filter{ $0 % divisor == 0 } return array == [] ? [-1] : array } map: 클로저로 각 항목들을 반영한 결과물을 가진 새로운 배열을 반환합니다. filter: 클로저로 각 항목들을 비교하여 일치하는 결과물을 가진 새로운 배열을 반환합니다. reduce: 배열의 각 항목들을 재귀적으로 클로저를 적용시켜 하나의 값을 만듭니다. array.map { $0 * 2 } array.filter { $0 % 2..

Coding Test/문제 풀이

[문제 풀이] 행렬 테두리 회전하기

코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 해결 과정 행렬 테두리 회전 > 순차대로 규칙을 찾아서 그대로 코드로 구현했다. 다른 풀이들도 비슷한 듯. 나의 풀이 def solution(rows, columns, queries): answer = [] # 행렬 만들기 matrix = [[0] * (columns + 1)] for i in range(rows): matrix.append([x + (columns * i) for x in range(columns+1)]) # Query 돌면서..

Coding Test/문제 풀이

[문제 풀이] 짝지어 제거하기

코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 나의 풀이 def solution(s): stack = [] for c in s: if stack and stack[-1] == c: stack.pop() else: stack.append(c) if stack: return 0 else: return 1 IDEA Stack 아이디어. 효율성 문제 이걸로 해결 가능.

Computer Science/Operating System

[Operating System] Concurrency / 동시성

Mac에서 음악을 듣는 동시에, 인터넷 작업을 할 수 있다. iOS App에서 버튼을 터치해서 다음 화면으로 넘어갈 수 있는 동시에, 이미지를 다운로드 할 수 있다. 여기서 적용되는 개념이 바로 Concurrency(동시성)이다. iOS 개발을 할 때, 많이 들었던 것. 네트워크 통신 이후, UI Update는 반드시 Main Thread에서 해야 합니다. 프로젝트에서 질문, 서버에서 데이터를 가져오고 화면에 뿌려줄 때 멀티스레드 프로그래밍을 이용했을 것 같은데, 어떻게 이용하셨나요? Computer Scienece 질문, 보통 저희가 음악을 들으면서 문서를 작성하면서 영화도 보면서 동시에 실행을 하잖아요. 원리가 무엇일까요? 개념을 정리해보자. Multi-Threading을 중심으로 알아보자. Con..

EUNJI HA
Day by Day