알고리즘/ 예상 대진표,  주요 프레임워크 정리

임혜정·2024년 6월 12일
0

Q.https://school.programmers.co.kr/learn/courses/30/lessons/12985

생각과정

  1. 최초에 a,b가 인접한 수와 한쌍으로 엮일 것이다. 홀수라면 다음 짝수랑, 짝수라면 앞쪽 홀수랑. 계속 2로 나눈다. 한번 실행할 때마다 카운트+1
  2. a, b에 홀수가 들어올 경우가 있으므로 +1해서 올림처리해야한다. 1번 참가자도 1번그룹 2번참가자도 1번그룹.
  3. a와 b의 몫이 동일해질 때 종료하고 카운트된 수 반환
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번째 라운드에서 만났습니다
*/
  • 아리까리할때 프린트문으로 디버깅해가며 원하는대로 굴러가고있는지 봐야한다




위랑 상관없음

Apple의 어플리케이션을 개발할 때 사용되는 주요 프레임워크

import Foundation // Foundation의 기능이 뭔가? 다른 건 뭐가있지?

알고리즘 카타를 할 때나 viewController를 생성하면 자동으로 작성되있는 import UIKit같은 문구. 별 생각없이 써왔지만 뭐가 뭔지 궁금해졌다

Foundation - 애플리케이션의 기본적인 기능을 제공하는 코어 프레임워크

• 문자열 처리 (NSString, NSMutableString)
• 배열 및 딕셔너리 (NSArray, NSDictionary, NSMutableArray, NSMutableDictionary)
• 날짜 및 시간 처리 (NSDate, NSDateFormatter)
• 파일 관리 (FileManager)
• 네트워킹 (URL, URLRequest, URLSession)
• 데이터 및 JSON 처리 (Data, JSONSerialization)

UIKit - 주로 iOS 애플리케이션의 사용자 인터페이스를 구축하는 데 사용

• UI 요소 (UIView, UILabel, UIButton, UIImageView, UITableView, UICollectionView)
• 뷰 컨트롤러 (UIViewController, UITableViewController, UINavigationController)
• 이벤트 처리 (UIResponder, UITapGestureRecognizer)
• 그래픽 및 애니메이션 (CALayer, UIViewPropertyAnimator)
• 텍스트 입력 및 표시 (UITextField, UITextView)
• 오토 레이아웃 및 뷰 레이아웃 (NSLayoutConstraint, UIStackView)
• 애플리케이션 생명주기 관리 (UIApplication, UIApplicationDelegate)
.
.
.

다른 주요 프레임워크

  1. SwiftUI:
    • 최신의 선언적 UI 프레임워크. Swift 언어를 사용하여 사용자 인터페이스를 구축한다.
    🌟iOS 13 이상의 환경이 요구됨
    • 기능: 뷰 정의, 데이터 바인딩, 애니메이션 등.

  2. Core Data:
    • 객체 그래프 및 지속성 프레임워크로, 데이터 모델을 관리하고 데이터를 영구 저장소에 저장이 필요할 떄
    • 기능: 데이터 모델링, 데이터베이스 저장 및 검색, 데이터 변경 추적.

  3. AVFoundation:
    • 미디어 처리를 위한 프레임워크로, 오디오 및 비디오 재생, 녹음, 편집 등을 지원
    • 기능: 오디오/비디오 재생 및 녹음, 미디어 파일 편집, 스트리밍.

  4. SpriteKit:
    • 2D 게임 개발을 위한 프레임워크로, 그래픽 및 애니메이션, 물리 엔진 등을 포함한다
    • 기능: 스프라이트 애니메이션, 물리 시뮬레이션, 터치 이벤트 처리.

  5. SceneKit:
    • 3D 그래픽 렌더링 및 애니메이션 프레임워크로, 3D 게임 및 애플리케이션을 개발할 때
    • 기능: 3D 모델링, 애니메이션, 물리 엔진, 조명 및 카메라 제어.

  6. MapKit:
    • 지도 및 위치 기반 서비스를 제공하는 프레임워크로, 지도를 표시하고 사용자 위치를 추적할 때
    • 기능: 지도 표시, 위치 검색, 경로 찾기, 사용자 위치 추적.

  7. Core Animation:
    • 애니메이션을 위한 저수준 프레임워크로, 뷰 및 레이어의 애니메이션 관리
    • 기능: 레이어 기반 애니메이션, 트랜지션 효과, 애니메이션 그룹.

profile
오늘 배운걸 까먹었을 미래의 나에게..⭐️

0개의 댓글