분류 전체보기
-
[운영체제] 커널(Kernel)운영체제 2023. 8. 7. 15:30
Overview 커널(Kernel)은 컴퓨터 운영체제의 핵심이 되는 컴퓨터 프로그램(Software)입니다. 커널은 시스템의 모든 것을 완전히 제어합니다. OS의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공합니다. 커널의 역할 보안 커널은 컴퓨터 하드웨어와 프로세스의 보안을 책임짐 자원 관리 한정된 시스템 자원을 효율적으로 관리하여 프로그램의 실행을 원활하게 함 특히 프로세스에 처리기를 할당하는 것을 스케줄링이라 함 추상화 일반적으로 커널은 OS의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공하기 위해 몇 가지 하드웨어 추상화들을 구현함 커널의 종류 단일형 커널 OS에서 일어나는 모든 일들을 한 개의 커널이 다 처리하는 방식 속도가 빠르고 설계가 편리함 잠..
-
[iOS] Life Cycle (App, Scene 생명 주기)스위프트 2023. 7. 30. 17:37
Overview 앱에는 생명주기가 있습니다. 앱이 열리고, 실행되고 그리고 백그라운드가 되고 종료가 됩니다. 앱이 Foreground 상태에가 당연히 Background 상태보다 리소스를 많이 사용하겠죠? iOS는 13버전 전과 후로 생명 주기에 변화가 있습니다. iOS 13 이전, 앱은 하나의 화면만을 책임졌습니다. UIApplicationDelegate를 통해 생명 주기 이벤트를 다뤘습니다. iOS 13 그리고 그 이후, 앱은 하나의 화면이 아닌 여러 화면을 다뤄야 했습니다. UISceneDelegate를 통해 생명 주기 이벤트를 다뤘습니다. App State 앱은 각각의 상태가 있습니다. 위에서 언급한 것 처럼 실행, 종료 등 상태가 있습니다. App State 설명 Not Running 앱이(사용..
-
[iOS] UITextField를 RxDelegateProxy를 이용하여 사용해보자스위프트 2023. 7. 29. 13:27
TextField에서 엔터를 쳤을 때 동작을 하고 싶은데.. 생각보다 RxSwift에서 UITextField에 대한 지원이 아쉬웠습니다. // RxCocoa에 있는 UITextField+Rx extension Reactive where Base: UITextField { /// Reactive wrapper for `text` property. public var text: ControlProperty { value } /// Reactive wrapper for `text` property. public var value: ControlProperty { return base.rx.controlPropertyWithDefaultEvents( getter: { textField in textField.t..
-
[프로그래머스] 주차 요금 계산 (2022 KAKAO BLIND RECRUITMENT) Swift알고리즘 2022. 9. 6. 23:31
문제 내용 https://school.programmers.co.kr/learn/courses/30/lessons/92341 여기서 읽어보세요잉 제한사항 fees.count = 4 1 ≤ records ≤ 1,000 전체 코드 import Foundation func solution(_ fees:[Int], _ records:[String]) -> [Int] { // 1 var inTimes: [String: [Int]] = [:] var outTimes: [String: [Int]] = [:] var carNumbers: Set = [] // 2 for record in records { let recordArr = record.split { $0 == " " }.map { String($0) } le..
-
[백준] 1,2,3 더하기 3 (15988번)알고리즘 2021. 10. 27. 18:00
문제 내용 정수 n 이 주어졌을 때, n 을 1, 2, 3 의 합으로 나타내는 방법의 수를 구하는 프로그램 작성. n = 4 이라고 하면 1 + 1 + 1 + 1, 1 + 1 + 2, 1 + 2 + 1, 2 + 1 + 1 2 + 2, 1 + 3, 3 + 1 이렇게 총 7개가 되어 7을 print 하면 된다. 첫 줄에 테스트 케이스의 개수 T 가 주어지고 T 번동안 정수 n 이 주어진다. 방법의 수를 1,000,000,009 로 나눈 나머지를 출력 전체 코드 // 1. n 의 최댓값이 1,000,000 이므로 배열의 크기를 1,000,001 만큼 생성하였음 var arr: [Int] = Array(repeating: 0, count: 1_000_001) // 2. 어디까지 값을 최신화하였는지 저장할 값 v..
-
[프로그래머스] n^2 배열 자르기 (월간 코드 챌린지 시즌3) Swift알고리즘 2021. 10. 26. 14:20
문제 내용 https://programmers.co.kr/learn/courses/30/lessons/87390 코딩테스트 연습 - n^2 배열 자르기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부 programmers.co.kr 전체 코드 import Foundation func solution(_ n:Int, _ left:Int64, _ right:Int64) -> [Int] { // 1. Int64 인 값과 계산을 많이해서 변경하였음 let n = Int64(n) // 2. 결과 값 저장용 var result: [..
-
[프로그래머스] 피로도 (위클리 챌린지 12주차) Swift알고리즘 2021. 10. 25. 13:15
문제 내용 던전 (최소 필요 피로도, 소모 피로도) 와 피로도가 주어진다.최소 필요 피로도 >= 소모 피로도 이고,피로도 >= 최소 필요 피로도 라면 그 던전을 탐험할 수 있다.그 던전을 탐험하게 되면 소모 피로도 만큼 피로도가 차감된다.최대 몇 개의 던전을 탐험할 수 있나 (각 던전은 1번만 탐험할 수 있음) 전체 코드 import Foundation func solution(_ k:Int, _ dungeons:[[Int]]) -> Int { // 1. 결과 저장용 var result = 0 // 2. 방문하는 함수 func visit(_ orders: [Int]) { // 3. 만약 orders 에 모든 값이 저장이 되었다면 if orders.count == dungeons.count { // 4. ..
-
[프로그래머스] 교점에 별 만들기 (위클리 챌린지 10주차) Swift알고리즘 2021. 10. 14. 15:50
문제 내용 n개의 직선이 주어지면, 직선의 교점 중에 정수로 표현되는 좌표만 별 표시를 해라. Ax + By + E = 0, Cx + Dy + F = 0 이라는 두 직선의 교점이 유일하게 존재할 경우, 그 교점은 x = (BF - ED) / (AD - BC) y = (EC - AF) / (AD - BC) AD - BC = 0 인 경우 두 직선은 평행 또는 일치함. 전체 코드 import Foundation func solution(_ line:[[Int]]) -> [String] { // 1. x, y 위치 저장용 배열 var location: [(x: Int, y: Int)] = [] // 2. x 의 최대 최솟값과 y 의 최대 최솟값을 저장하기 위한 값 var maxX = Int.min var min..