MVVM, MVC 패턴
·
🗣️ 면접/면접질문정리
Q. MVVM 패턴에 대해 설명해주세요 A. 1. Model, View, ViewModel로 이루어진 디자인패턴입니다. 2. MVVM 패턴의 목적은 뷰 로직과 비즈니스 로직을 분리하는 것입니다. 3. MVVM은 데이터 바인딩을 통해 뷰와 뷰모델 간의 데이터 동기화를 용이하게 합니다. Q. MVC 패턴에 대해 설명해주세요 A. 1. MVC패턴은 Model, View, Controller로 이루어진 디자인패턴입니다. 2. MVC패턴의 목적은 뷰와 모델의 의존성을 최소화하고, 이를 Controller를 통해 해결하는 것입니다. 3. MVC패턴은 Controller가 View와 Model사이의 상호작용을 조정합니다.
[구현] Extra Long Factorials
·
📝 코테/HackerRank
풀이 엄청 큰 수의 팩토리얼을 출력하는 문제다. 수가 너무 크기 때문에 수를 배열로 나눠서 풀어야한다. temp라는 임시배열을 역순으로 순회하면서 현재 숫자와 이전단계에서의 나머지를 더한다. 그 총합을 10으로 나누 몫이 새로운 나머지가 된다. 새로운 나머지를 문자열로 변환하여 result 문자열의 앞쪽에 삽입한다. 이것을 재귀로 반복하여 결과를 출력한다. 코드 func extraLongFactorials(n: Int) -> Void { // Write your code here var result = "1" for num in 1...n { result = multiply(result, by: num) } print(result) } func multiply(_ a: String, by: Int) ->..
[Swift] 이진탐색(Binary Search)
·
💻 CS/알고리즘
이진탐색 데이터가 정렬되어있는 배열에서 중간값과 비교하며 특정한 값을 찾아내는 탐색 방법 구현 재귀 //재귀적으로 표현한 이분탐색 //11이 어디있는지 찾는 이분탐색입니다. var binaryArray = [0, 1, 4, 6, 8, 11, 14, 23, 24, 26, 28, 31, 41, 50] func recursiveBinary(array: [Int], target: Int, start: Int, end: Int) -> Int? { //시작점이 끝점보다 커지면? 이미 모든 영역을 탐색했다는 뜻 이겠죠? 모든 영역을 탐색했는데 타겟 숫자를 //못 찾았다면 nil을 리턴해 주도록 합시다. if start > end { return nil } //일단 반으로 나눌거니까 중간을 찾아줍시다. var mid ..
JerryiOS
Jerry