본문 바로가기

Swift

[백준] 1992번 - 쿼드트리(Quad Tree) (재귀) (Swift) 쿼드트리 문제 흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리(Quad Tree)라는 방법이 있다. 흰 점을 나타내는 0과 검은 점을 나타내는 1로만 이루어진 영상(2차원 배열)에서 같은 숫자의 점들이 한 곳에 많이 몰려있으면, 쿼드 트리에서는 이를 압축하여 간단히 표현할 수 있다. 주어진 영상이 모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래, 이렇게 4개의 영상으로 나누어 압축하게 되며, 이 4개의 영역을 압축한 결과를 차례대로 괄호 안에 묶어서 표현한다 위 그림에서 왼쪽의 영상은 오른쪽의 배열과 같이 숫자로 주어지며, 이.. 더보기
Swift) ARC (Automatic Reference Counting) 안녕하세요. 재희입니다! 오늘은 Swift의 ARC에 대해 알아보도록 하겠습니다! https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html Automatic Reference Counting — The Swift Programming Language (Swift 5.6) Automatic Reference Counting Swift uses Automatic Reference Counting (ARC) to track and manage your app’s memory usage. In most cases, this means that memory management “just works” in Swift, and yo.. 더보기
Swift) Locale 다루기 - 언어 및 지역 안녕하세요 zhi재희입니다! 지난 시간에는 Localizable.strings 파일을 만들어서 다국어 지원을 해보았는데, 오늘은 Locale 다루는 법에 대해 알아보겠습니다. 아이폰에서 설정 -> 일반 -> 언어 및 지역 으로 가면 현재 아이폰 언어 및 지역 확인 및 편집이 가능합니다. Apple Development Documentation 애플 공식 문서에 따르면 Locale은 언어, 문화, 기술 규약과 표준에 대한 정보를 압축한다고 합니다. Locale에서 주로 다루게 될 프로퍼티에는 identifier, calendar, regionCode, languageCode 등이 있습니다. identifier locale identifier는 "languageCode-scriptCode_regionCode.. 더보기
iOS) localization(지역화) - 앱에서 다국어 지원하는 방법 안녕하세요! zhi재희입니다! 지난 게시물을 막 이직했을 때 적었던 것 같은데 또 이직을 했답니다 하하 현재 만드는 앱은 다국어를 지원하고 있어요~! 그래서 오늘은 앱에서 다국어를 지원을 위한 localization에 대해 알아보겠습니다~~ Localization? 지역화란? 로컬리제이션은 다른 나라에서도 이용할 수 있도록 각각 자국의 언어에 관한 기초적인 기능을 제공하는 것을 의미합니다. 예를 들어 저희 앱은 한국어와 영어를 지원하기 때문에, 같은 로그인 화면이라도 아이폰 언어 설정에 따라 아래 사진처럼 다르게 보이게 됩니다. 기본 세팅 먼저 label 하나를 만들어 주고, import UIKit class ViewController: UIViewController { // MARK: - UICompo.. 더보기
iOS 13+) Storyboard 없이 프로젝트 생성하기 안녕하세요 zhi재희입니다! 저는 최근에 이직하면서 🥳 Storyboard없이 SnapKit으로 UI 코드 작성하는 것에 익숙해지고 있답니다. 그래서 Storyboard없이 프로젝트를 생성하는 방법에 대해 알아보려고 합니다! 1. 프로젝트 생성 가장 먼저 새로운 프로젝트를 생성해 줍니다! 🎉 기본적으로 이렇게 Main.storyboard가 존재하고 있습니다! 2. Main.storyboard 삭제 과감하게 스토리보드를 삭제❌해줍니다! 그렇게 실행해보면?! reason: 'Could not find a storyboard named 'Main' in bundle NSBundle Main 스토리보드를 찾을 수 없다고 뜹니다! 3. 해결하기 - Info.plist Info.plist 파일에서 2가지 row를 .. 더보기
왜 프로토콜 변수 선언땐 let이 안될까? / weak와 unowned 의 차이 JercyCare+ 에서 주어진 질문에 대한 제 생각입니다. :) 왜 프로토콜 변수 선언땐 let이 안될까? 공식 문서: Swift - Protocols A protocol defines a blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality. The protocol can then be adopted by a class, structure, or enumeration to provide an actual implementation of those requirements. Any type that satisfies the requirements of a pro.. 더보기

반응형