Q.https://school.programmers.co.kr/learn/courses/30/lessons/12985
func solution(_ n: Int, _ a: Int, _ b: Int) -> Int {
var answer = 0
var a = a
var b = b
while a != b {
print("a:\(a), b: \(b)")
a = (a + 1) / 2
b = (b + 1) / 2
answer += 1
}
print("a와 b는 \(answer)번째 라운드에서 만났습니다")
return answer
}
print(solution(8, 1, 7))
/*
a:1, b: 7
a:1, b: 4
a:1, b: 2
a와 b는 3번째 라운드에서 만났습니다
*/
위랑 상관없음
import Foundation // Foundation의 기능이 뭔가? 다른 건 뭐가있지?
알고리즘 카타를 할 때나 viewController를 생성하면 자동으로 작성되있는 import UIKit같은 문구. 별 생각없이 써왔지만 뭐가 뭔지 궁금해졌다
• 문자열 처리 (NSString, NSMutableString)
• 배열 및 딕셔너리 (NSArray, NSDictionary, NSMutableArray, NSMutableDictionary)
• 날짜 및 시간 처리 (NSDate, NSDateFormatter)
• 파일 관리 (FileManager)
• 네트워킹 (URL, URLRequest, URLSession)
• 데이터 및 JSON 처리 (Data, JSONSerialization)
• UI 요소 (UIView, UILabel, UIButton, UIImageView, UITableView, UICollectionView)
• 뷰 컨트롤러 (UIViewController, UITableViewController, UINavigationController)
• 이벤트 처리 (UIResponder, UITapGestureRecognizer)
• 그래픽 및 애니메이션 (CALayer, UIViewPropertyAnimator)
• 텍스트 입력 및 표시 (UITextField, UITextView)
• 오토 레이아웃 및 뷰 레이아웃 (NSLayoutConstraint, UIStackView)
• 애플리케이션 생명주기 관리 (UIApplication, UIApplicationDelegate)
.
.
.
다른 주요 프레임워크
SwiftUI:
• 최신의 선언적 UI 프레임워크. Swift 언어를 사용하여 사용자 인터페이스를 구축한다.
🌟iOS 13 이상의 환경이 요구됨
• 기능: 뷰 정의, 데이터 바인딩, 애니메이션 등.
Core Data:
• 객체 그래프 및 지속성 프레임워크로, 데이터 모델을 관리하고 데이터를 영구 저장소에 저장이 필요할 떄
• 기능: 데이터 모델링, 데이터베이스 저장 및 검색, 데이터 변경 추적.
AVFoundation:
• 미디어 처리를 위한 프레임워크로, 오디오 및 비디오 재생, 녹음, 편집 등을 지원
• 기능: 오디오/비디오 재생 및 녹음, 미디어 파일 편집, 스트리밍.
SpriteKit:
• 2D 게임 개발을 위한 프레임워크로, 그래픽 및 애니메이션, 물리 엔진 등을 포함한다
• 기능: 스프라이트 애니메이션, 물리 시뮬레이션, 터치 이벤트 처리.
SceneKit:
• 3D 그래픽 렌더링 및 애니메이션 프레임워크로, 3D 게임 및 애플리케이션을 개발할 때
• 기능: 3D 모델링, 애니메이션, 물리 엔진, 조명 및 카메라 제어.
MapKit:
• 지도 및 위치 기반 서비스를 제공하는 프레임워크로, 지도를 표시하고 사용자 위치를 추적할 때
• 기능: 지도 표시, 위치 검색, 경로 찾기, 사용자 위치 추적.
Core Animation:
• 애니메이션을 위한 저수준 프레임워크로, 뷰 및 레이어의 애니메이션 관리
• 기능: 레이어 기반 애니메이션, 트랜지션 효과, 애니메이션 그룹.