이번 글에서는 Swift 공식 문서의 21번째 단원인 Protocols을 읽고 정리한 글을 쓰려고 합니다. Apple Swift 공식 문서 21단원 - Protocol Protocol Protocol은 특정 작업이나 기능에 적합한 메서드, 프로퍼티, 요구사항의 청사진을 정의합니다. 그런 뒤 이러한 요구사항의 실제 구현을 위해 Class, Struct, Enum에서 Protocol을 채택할 수 있습니다. 이때 Protocol이 요구하는 사항을 모두 충족하면 해당 타입은 Protocol을 준수한다고 합니다. 준수해야 하는 타입의 요구사항을 정의하는 것 외에도 요구사항의 일부를 구현하거나, 준수하는 타입에 추가 기능을 구현하기 위해 Protocol을 확장할 수도 있습니다. Protocol Syntax Prot..
안녕하세요! Ick입니다. 이번 글에서는 제가 앱 개발을 할 때 사용하면 정말 좋다고 느낀 UserDefaults라는 것에 대해 알아보려고 합니다. UserDefaults가 무엇인가요? 하고 물으신다면 간단하게 말하자면 "사용자의 정보를 저장하는 것"이라고 말할 수 있습니다. 예를 들어 사용자가 어떤 언어로 이 앱을 쓰고 싶은지에 대한 정보라던가 흔히들 보는 팝업창을 오늘은 그만 보기 같은 기능을 구현할 수 있도록 정보를 저장하는 것이죠! 우선 공식 문서는 여기 입니다. UserDefaults는 아까 말했듯 앱의 사용자의 정보를 Key-Value 쌍으로 계속 저장합니다. 이렇게 정보를 저장하여 앱에서 사용자 기본 설정들을 설정할 수 있습니다. 이 값은 앱의 프로세스 내에서 동기적으로 변경되며 영구 저장소..
문제 링크 2665번: 미로만들기 첫 줄에는 한 줄에 들어가는 방의 수 n(1≤n≤50)이 주어지고, 다음 n개의 줄의 각 줄마다 0과 1이 이루어진 길이가 n인 수열이 주어진다. 0은 검은 방, 1은 흰 방을 나타낸다. www.acmicpc.net 문제 n×n 바둑판 모양으로 총 n2개의 방이 있다. 일부분은 검은 방이고 나머지는 모두 흰 방이다. 검은 방은 사면이 벽으로 싸여 있어 들어갈 수 없다. 서로 붙어 있는 두 개의 흰 방 사이에는 문이 있어서 지나다닐 수 있다. 윗줄 맨 왼쪽 방은 시작 방으로서 항상 흰 방이고, 아랫줄 맨 오른쪽 방은 끝방으로서 역시 흰 방이다. 시작 방에서 출발하여 길을 찾아서 끝방으로 가는 것이 목적인데, 아래 그림의 경우에는 시작 방에서 끝 방으로 갈 수가 없다. 부득..
문제 링크 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. ..
문제 링크 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 문제 이 문제는 아주 평범한 배낭에 관한 문제이다. 한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한 즐기기 위한 여행이기 때문에, 가지고 다닐 배낭 또한 최대한 가치 있게 싸려고 한다. 준서가 여행에 필요하다고 생각하는 N개의 물건이 있다. 각 물건은 무게 W와 가치 V를 가지는데, 해당 물건을 배낭에 넣어서 가면 준서가 V만큼 즐길 수 ..
이번 글에서는 Swift 공식 문서의 27번째 단원인 Advanced Operators를 읽고 정리한 글을 쓰려고 합니다. Swift 공식문서 27단원 - Advanced Operators Advanced Operators 공식문서의 2단원인 Basic Operators에서 설명된 연산자 외에도 Swift에는 더 복잡한 값의 조작을 수행하는 여러 고급 연산자를 제공한다. 여기에는 C, Objective-C에서 익숙한 모든 비트 및 비트 이동 연산자가 포함된다. C의 산술 연산자와 달리 Swift의 산술 연산자는 기본적으로 오버플로 되지 않는다. 오버플로 동작은 트랩 되고 오류로 보고된다. 오버플로 동작을 선택하려면 오버플로 더하기 연산자 (& +)와 같이 기본적으로 오버플로 되는 Swift의 두 번째 산..
문제 링크 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. ..
문제 링크 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 45656이란 수를 보자. 이 수는 인접한 모든 자릿수의 차이가 1이 난다. 이런 수를 계단 수라고 한다. 세준이는 수의 길이가 N인 계단 수가 몇 개 있는지 궁금해졌다. N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구하는 프로그램을 작성하시오. (0으로 시작하는 수는 없다.) 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. 문제 풀이 문제를 어떻게 접근할까... 하다가 하나의 규칙을 발견했습니다. 우선 간단하게 N = 1, ..
- Total
- Today
- Yesterday
- 프로그래밍
- Combine
- BFS
- 동시성
- 스위프트
- 알고리즘
- design
- 앱개발
- mac
- System
- OS
- operating
- 아이폰
- Apple
- 코딩테스트
- Xcode
- DP
- operator
- Swift
- IOS
- 자료구조
- 백준
- pattern
- 코테
- dfs
- document
- Publisher
- OSTEP
- 문법
- 테이블뷰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |