본문 바로가기
728x90

전체 글139

[알고리즘/Swift] 스택/큐 문제풀이 - 프로그래머스 기능개발, 프린터, 다리를 지나는 트럭 Swift 스터디 9주차 6/15 . 스터디 3주차 챕터였던 "고급 데이터 구조의 활용" 에서 스택, 큐, 순환 버퍼, 우선순위 큐, 연결 리스트에 대해 학습했었습니다. 이와 관련되서 알고리즘 문제 풀이를 진행했고, 프로그래머스의 스택/큐 챕터를 풀었습니다. [Swift] 스터디 3주차 - 스위프트 데이터 구조와 알고리즘 5/4 진행했던 스위프트 데이터 구조와 알고리즘 책의 3장 '스위프트 고급 데이터 구조의 활용' 스터디 정리입니다! 👀 3장 요약 3장에서는 Swift 기본 데이터 구조 중 Collections (Array, Dictionary, Set) jellysong.tistory.com ✔︎ 기능개발 💡 참고 사항 "뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포된다." -> Queue.. 2021. 6. 16.
[iOS] View 체계 - Window&View, Frame vs Bounds, 디버깅 툴 iOS의 View 체계 - 뷰 계층, 뷰의 좌표, 프레임 vs 바운드, 뷰 계층 디버깅 툴 iOS 앱 프로그래밍 부스트코스 무료 강의 www.boostcourse.org 1장에서 음악재생 앱을 만들면서 아래의 내용들을 학습했습니다. 에셋(Asset) - 앱 아이콘, 이미지 파일, 데이터 파일을 관리, 앱 실행시 파일에 쉽게 접근할 수 있도록 도와준다. 앱 시닝(App thinning)과 앱 슬라이싱(App slicing) - 다양한 디바이스에서 빠르게 다운로드할 수 있도록 하는 최적화 기술 Cocoa Touch, UIKit, Foundation - iOS 앱 개발에 필요한 프레임워크 Autolayout 을 적용하며 UI를 개발하는 법 - 인터페이스 빌더 vs 코드로 작성 iOS의 View 체계 - 뷰 계.. 2021. 6. 16.
[iOS] Autolayout 을 적용하며 UI를 개발하는 법 Autolayout 을 적용하며 UI를 개발하는 법 - 인터페이스 빌더 vs 코드로 작성 iOS 앱 프로그래밍 부스트코스 무료 강의 www.boostcourse.org 1장에서 음악재생 앱을 만들면서 아래의 내용들을 학습했습니다. 에셋(Asset) - 앱 아이콘, 이미지 파일, 데이터 파일을 관리, 앱 실행시 파일에 쉽게 접근할 수 있도록 도와준다. 앱 시닝(App thinning)과 앱 슬라이싱(App slicing) - 다양한 디바이스에서 빠르게 다운로드할 수 있도록 하는 최적화 기술 Cocoa Touch, UIKit, Foundation - iOS 앱 개발에 필요한 프레임워크 Autolayout 을 적용하며 UI를 개발하는 법 - 인터페이스 빌더 vs 코드로 작성 iOS의 View 체계 - 뷰 계층.. 2021. 6. 13.
[iOS] iOS 앱 개발 프레임워크 - CocoaPod, UIKit, Foundation Cocoa Touch, UIKit, Foundation - iOS 앱 개발에 필요한 프레임워크 iOS 앱 프로그래밍 부스트코스 무료 강의 www.boostcourse.org 1장에서 음악재생 앱을 만들면서 아래의 내용들을 학습했습니다. 에셋(Asset) - 앱 아이콘, 이미지 파일, 데이터 파일을 관리, 앱 실행시 파일에 쉽게 접근할 수 있도록 도와준다. 앱 시닝(App thinning)과 앱 슬라이싱(App slicing) - 다양한 디바이스에서 빠르게 다운로드할 수 있도록 하는 최적화 기술 Cocoa Touch, UIKit, Foundation - iOS 앱 개발에 필요한 프레임워크 UI 를 개발하고 Autolayout 을 적용하는 방법 - 인터페이스 빌더 vs 코드로 작성 iOS의 View 체계 -.. 2021. 6. 13.
[iOS] 에셋 카탈로그(Asset catalog)와 앱 시닝(App thinning) 앱 다운로드 최적화 기술인 앱 시닝(App thinning)과 앱 슬라이싱(App slicing). 앱 아이콘, 이미지, 음악 및 데이터 관리를 위한 에셋(Asset). iOS 앱 프로그래밍 부스트코스 무료 강의 www.boostcourse.org 1장에서 음악재생 앱을 만들면서 아래의 내용들을 학습했습니다. 에셋(Asset) - 앱 아이콘, 이미지 파일, 데이터 파일을 관리, 앱 실행시 파일에 쉽게 접근할 수 있도록 도와준다. 앱 시닝(App thinning)과 앱 슬라이싱(App slicing) - 다양한 디바이스에서 빠르게 다운로드할 수 있도록 하는 최적화 기술 Cocoa Touch, UIKit, Foundation - iOS 앱 개발에 필요한 프레임워크 UI 를 개발하고 Autolayout 을 적.. 2021. 6. 13.
[알고리즘/Swift] BOJ 1038 감소하는 수 - 완전 탐색 🤔 문제 유형 :: 브루트포스(완전탐색) / 백트래킹 💡 풀이 방법 ✔︎ 감소하는 수가 어떻게 구성되는지 먼저 생각해본다. 👉 n 자리의 숫자라면 첫째 자리가 고정되어있을 때, 두번째는 첫째 자리보다 작은 값으로, 세번째는 두번째 자리보다 작은 값으로, n번째 자리는 n-1 번째 자리보다 작은 값으로 구성된다. ✔︎ 문제를 풀면서 참고해야 하는 사항들 감소하는 수의 최대값은 9876543210으로, 최대 자리수는 10자리이다. 감소하는 수의 최소값은 0으로, 최소 자리수는 1이다. 감소하는 수의 개수는 1022개이다. N = 1023 부터는 -1을 출력해야 한다. ✔︎ 풀이를 정리하자면 ?! 자리 수를 지정하고, 자리수에 따라 감소하는 수를 찾는다. --- 0 부터 9까지 반복한다. (혹은 1 ~ 10).. 2021. 6. 9.
[Swift] 스터디 3주차 - 스위프트 데이터 구조와 알고리즘 5/4 진행했던 스위프트 데이터 구조와 알고리즘 책의 3장 '스위프트 고급 데이터 구조의 활용' 스터디 정리입니다! 👀 3장 요약 3장에서는 Swift 기본 데이터 구조 중 Collections (Array, Dictionary, Set) 을 활용해서 다양한 데이터 구조에 대해 설명하고 Swift 코드로 작성하는 법을 학습했습니다! Stack(스택), Queue(큐), Circular Buffer(순환버퍼), Priority Queue(우선순위 큐), Linked List(연결 목록) 이렇게 여섯가지를 다루고 있고, 주제는 크게 다음처럼 나뉩니다. 기본 데이터구조 구현을 위한 타입과 프로토콜 설명 - Iterator, Sequence, Collection 다양한 데이터 구조에 대한 설명과 Swift 로 .. 2021. 6. 7.
[Swift] 컬렉션 타입의 프로토콜 - IteratorProtocol, Sequence, Collection IteratorProtocol Iterator 는 IteratorProtocol 에 부합하는 범용 타입이다. IteratorProtocol 의 목적은 컬렉션을 반복 순회하는 next() 메소드를 통해 컬렉션의 반복 상태를 캡슐화 하는 것이다. IteratorProtocol 의 정의 Element :: 반복 순회하며 가져온 요소 associatedtype (연관타입)으로 지정함으로써 순회해서 가져온 요소의 타입을 지정할 수 있다. next() 메소드는 시퀀스에 있는 다음 요소를 반환하거나, 시퀀스의 마지막인 경우 nil 을 반환한다. public protocol IteratorProtocol { associatedtype Element public mutating func next() -> Self.Ele.. 2021. 6. 7.
[알고리즘/Swift] BOJ 1644 소수의 연속합 - 투 포인터 & 에라토스테네스의 체 👀 필요한 공부 에라토스테네스의 체 소수를 판별하는 알고리즘. 투 포인터 일차원 배열에서 두 개의 포인터를 지정해 계산하는 방법 💡 풀이 방법 위에서 언급한 두 개념을 전부 적용해서 문제를 풀면 됩니다. 먼저, 에라토스테네스의 체를 이용해 소수를 찾습니다. 찾은 소수 배열을 통해 투 포인터로 접근해서 연속된 소수의 합으로 N 이 만드는 경우의 수를 체크하면 됩니다! checkPrimes 함수 :: 에라토스테네스의 체를 이용해 소수를 판별하는 함수 findSeries 함수 :: 투 포인터를 이용해 연속된 소수의 합으로 자연수를 나타낼 수 있는 경우의 수를 세는 함수 🐥 Swift 풀이 // 소수의 연속합 func checkPrimes(n: Int, isPrimes: inout [Bool]) { // 2 부.. 2021. 6. 1.
728x90