분류 전체보기

· → UIKit
🪽 Sendbird뷰의 라이프사이클을 잘 활용하고 있는 예시를 찾아보다가 Sendbird 레포지토리를 발견했었다. 이번에 앱의 라이프사이클을 공부하고 뷰의 라이프사이클을 공부하면서 Sendbird 레포지토리를 다시 한번 보고 정리해보고 싶었다. GitHub - sendbird/sendbird-uikit-ios: Sendbird UIKit for iOS is a development kit with a user interface, offering a simplified iSendbird UIKit for iOS is a development kit with a user interface, offering a simplified integration into chat. - sendbird/sendbird-..
💻 이전 글이전에는 SSD를 알아보았는데, 결국 DRAM 까지 왔다. [CS] SSD의 구조💻 이전 글이전에는 HDD의 구조와 스케줄링을 알아보았는데, 이번에는 SSD, DRAM 까지 살펴보려고 한다. [CS] HDD의 구조 및 스케줄링HDD, SSD, DRAM에 대해서 학습하고 기록하고자 포스팅을 작성하게swift-library.tistory.com📏 DRAM아래의 유튜브를 참고하여 정리하였다.Dynamic Random Access Memory인 DRAM은 SSD보다 약 3000배 이상 빠르다고 한다.DRAM은 겹겹이 쌓인 SSD와 달리 2차원 배열이고 메모리 셀당 한 비트를 일시적으로 저장한다. 또한 보관된 데이터를 지속적으로 저장하기 위해 전력이 필요하다. 이렇게 저장된 값을 계속 새로 고쳐줘..
🫠 String은 왜 index가 까다로울까?항상 String을 사용하다 보면 아래와 같이 반복문은 쓸 수 있는데 index로 접근하지 못할까?라는 생각을 많이 해봤다.아래와 같이 특별한 index로 접근해야 접근이 가능하다. 왜 굳이 복잡하게 이렇게 되어있을까? 궁금했다.🔤 가변길이 인코딩우선 이것을 생각해보기 전에 문자의 용량에 대해서 알아보고자 한다. "Hello, 👋" 의 길이(용량)는 얼마일까? 아래처럼 프린트해 보면 11이 나온다. 엇 잠깐? 일단 "Hello, 👋" 의 길이는 8인데 왜 11이라는 숫자가 나온걸까?하나하나 출력해 보면 마지막 손바닥이 4이다. 여기서 숫자는 16진수 두 자리로 된 byte라고 볼 수 있다.하나의 String에 여러 용량을 가진 요소들이 저장되어 있구나를..
· → UIKit
♻️ 앱의 라이프 사이클Swift에서 가장 중요하게 다루는 내용 중 하나인 앱의 Life Cycle에 대해서 알아보자! Managing your app’s life cycle | Apple Developer DocumentationRespond to system notifications when your app is in the foreground or background, and handle other significant system-related events.developer.apple.com앱의 라이프 사이클을 표현하는데 가장 좋은 그림은 아래이지 않을까 싶다. 앱은 크게 Not Running, Foreground, Background로 나뉘게 된다. 내 눈앞에 있으면 Foreground, 내 눈..
· → Problems
🧐 문제🧙 문제풀이만만하게 봤지만(?) 생각할 거리가 꽤 있는 문제였다. 첫번째는 일단 무식하게 풀어보자였다. Array를 내 위치부터 잘라서 그 뒤로 해당 숫자보다 큰 숫자를 찾아서 반환해줬다. 하지만 당연하게도 시간초과가 났다. numbers의 길이가 최대 1,000,000이기 때문에 아래와 같은 풀이 방법은 결국 O(n^2)으로 시간초과가 나게 된다.func solution(_ numbers: [Int]) -> [Int] { var answer: [Int] = [] for i in numbers.indices { let first = numbers[i...].first { $0 > numbers[i] } ?? -1 answer.append(first) ..
💻 이전 글이전에는 HDD의 구조와 스케줄링을 알아보았는데, 이번에는 SSD를 살펴보려고 한다. [CS] HDD의 구조 및 스케줄링HDD, SSD, DRAM에 대해서 학습하고 기록하고자 포스팅을 작성하게 되었다. 첫 번째 글은 HDD이다!💻 컴퓨터 구조시작하기에 앞서 컴퓨터 구조를 간단하게 훑고 시작하려고 한다.위키피디아에 의하swift-library.tistory.com💾 ROM, RAMSSD는 플래시 메모리로 만든 저장장치인데, ROM과 RAM이라는 키워드가 많이 보여 이것부터 간단하게 살펴보기로 했다.메모리는 크게 휘발성, 비휘발성으로 나뉘는데 ROM은 비휘발성 메모리, RAM은 일반적으로 휘발성 메모리이다. Read-Only Memory의 약자인 ROM은 전원을 꺼도 데이터가 지워지지 않기 ..
· → Problems
🤓 문제https://www.acmicpc.net/problem/16638🧙 풀이과정우선 아래의 문제와 비슷하고, 이번에는 괄호를 아무렇게나 씌울 수 있다는 조건이 추가되었다. [Algorithm] 백준 - 16638번 괄호 추가하기2 (Swift)🧐 문제https://www.acmicpc.net/problem/16638✨ 풀이괄호, 곱하기, 그외 연산자 순으로 연산을 진행하면 되겠다라고 생각했다. 그리고 괄호는 중복되면 안되기 때문에 오른쪽부터 괄호를 씌우게 하지만swift-library.tistory.com✨ 첫 번째 풀이 (단순하게)첫 번째는 아주 간단하게 접근했다. 그냥 모든 경우를 계산했다. let n = Int(readLine()!)!let expression = Array(readLin..
· → Problems
🧐 문제https://www.acmicpc.net/problem/16638✨ 풀이괄호, 곱하기, 그외 연산자 순으로 연산을 진행하면 되겠다라고 생각했다. 그리고 괄호는 중복되면 안되기 때문에 오른쪽부터 괄호를 씌우게 하지만 이전에 괄호가 있다면 무조건 한칸 건너띄게 괄호를 넣을 수 있게 했다.let n = Int(readLine()!)!let math = Array(readLine()!).map { String($0) }var cap = Array(repeating: false, count: n)/// ["숫자", "부호", "숫자"] 연산func operation(_ array: [String]) -> String { let left = Int(array[0])! let right = In..
Swift librarian
'분류 전체보기' 카테고리의 글 목록 (3 Page)