본문 바로가기

IOS2

[Swift] class/struct 를 언제 사용할까 Class 언제 Class 사용할까? - 번역 Data Model 을 저장하고 다룰때 Class로 구현할지 Structure로 구현할지 고민하는 경우 공식문서에서는 다음과 같이 설명하고 있다. Reference Apple Development Article - Choosing Between Structures and Classes 기본적으로 구조체를 사용해라. (Use structures by default.) Objective-C 하고 상호운영성(interoperability)이 필요할 때 클래스를 사용해라. 데이터의 identity 를 다뤄야 할 필요가 있다면 클래스를 사용해라. 기능 구현을 공유하고 싶다면, (클래스 간의 상속이 아니라) 구조체를 프로토콜과 함께 사용해라.언제애플 공식 문서에서는 아.. 2023. 11. 23.
[알고리즘 / swift] 동적 계획법 (Dynamic Programming) 크고 어려운 문제가 있으면 먼저 잘게 나누어 해결한 뒤에 나중에 전체의 답을 구하는 것 완전 탐색으로 접근했을 때 시간이 오래걸리는 경우 적용 가능한지 확인 메모이제이션 Memoization : 정답을 구한 작은 문제를 메모하고, 다시 그보다 큰 문제를 풀 때 똑같은 작은 문제가 나타나면 앞서 메모해두었던 작은 문제의 결과값을 이용한다. DP를 사용할 수 있는 조건 1. 큰 문자를 반복되는 작은 문제로 나눌 수 있다. 2. 작은 문제에서 구한 정답이 큰 문제에서도 사용된다. 방식 1. 보텀업(bottom-up) 방식 - 작은 문제부터 차근 차근 답을 도출하는 방식 - 반복문 형태 - 다이나믹 프로그래밍의 전형적인 형태 - DP 테이블 : 보텀업(bottom-up) 방식에서 사용되는 결과 저장용 리스트 b.. 2023. 10. 25.