일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Xcode
- String
- property
- initializer
- init
- optional
- 코딩테스트
- Method
- url
- 스위프트
- IOS
- Terminal
- type
- Protocol
- 이니셜라이저
- Swift
- UIKit
- Unicode
- 디자인패턴
- Git
- enum
- struct
- extension
- tuist
- Foundation
- Class
- interpace
- delegate
- instance
- initalizer
- Today
- Total
목록Swift/자료구조 (8)
아리의 iOS 탐구생활
✔️ Apple 공식문서 참고 Apple Developer Documentation developer.apple.com Strings and Characters — The Swift Programming Language (Swift 5.5) Strings and Characters A string is a series of characters, such as "hello, world" or "albatross". Swift strings are represented by the String type. The contents of a String can be accessed in various ways, including as a collection of Character values. Swi docs.s..
Apple Developer Documentation developer.apple.com 🔍 CaseInsensitive Option 스위프트에서는 대소문자를 구분하는데, 해당 옵션을 추가하면 대소문자 구분을 없앨 수 있다. "A" == "a" // false "A".caseInsensitiveCompare("a") == .orderedSame // true "A".compare("a", options: [.caseInsensitive]) == .orderedSame // true /* 원래 해당 옵션의 풀네임은 NSString.CompareOptions.caseInsensitive 이건데, 스위프트는 타입추론이 가능하여 보다 짧게 입력하여 편리하게 사용할 수 있다. */ 🔍 Literal Option ..
Swift의 자료구조 중 하나인 Set, 컬렉션 타입 이다. 순서가 중요하지 않거나, 항목이 한번만 표시되도록 해야하는 경우 배열 대신 집합을 사용할 수 있겠다. 배열과 달리 중복 요소를 허용하지 않고, 해시를 통해 값을 저장하기 때문에 배열에 비해 검색속도가 빠르다. 저장되는 자료형은 Hashable 프로토콜을 준수하고 있어야 한다. ✔️ 초기화 빈 Set을 만들땐 꼭 타입을 명시해줘야 한다. 빈 Set은 타입추론이 불가능하다. var intSet: Set = [] 값이 있는 Set은 'Set'만 명시해준다면 타입추론이 가능하다. let stringSet: Set = ["lee", "ari", "babo"] // Set ✔️ 값 추가 insert()와 update()는 같은 일을 하지만 아래와 같이 반..
✔️ 특징 키와 값이 쌍으로 이루어진 자료형 [key : value] 순서가 없는 컬렉션이다. > key나 value를 원하는 규칙으로 정렬하면서 순회. value는 중복 가능, key는 중복 불가 ✔️ 기본적인 초기화 let dic: [String : Double] = [:] let dic2 = [String : Double]() let dic3 = [1 : "100만원", 2 : "50만원" , 3 : "10만원"] // 타입유추 ✔️ uniqueKeysWithValues 배열에 value를 임의로 추가하여 새 Dictionary로 초기화. Array > [key, value] let arr = ["own", "two", "three", "four"] let dic = Dictionary(unique..
let arr = ["leeari", "ari", "lee"] for i in arr { print(i) } arr.forEach { i in print(i) } 두 반복문은 같은 결과물을 출력하지만 차이점이 존재한다. ✔️ 제어문의 영향 for i in arr { if i == "leeari" { continue } if i == "ari" { break } } arr.forEach{ i in // !!! error: only allowed inside a loop !!! // break // continue } for in문은 break과 contiue문을 사용하여 클로저를 탈출할 수 있지만, forEach는 이러한 제어문 사용이 불가능하다. forEach는 내가 반복하고 싶은 구문을 forEach라..
✔️ ceil() 올림 소수점 이하를 모두 버리고 정수부에 +1을 해준다. import Foundation ceil(10.1) // 11 ceil(9.5) // 10 ceil(8.3) // 9 ceil(7.7) // 8 ✔️ floor() 버림 소수점 이하를 모두 버린다. import Foundation floor(10.1) // 10 floor(9.5) // 9 floor(8.3) // 8 floor(7.7) // 7 ✔️ round() 반올림 소수점 이하를 반올림 한다. 0.3 이상은 1로 올리고 미만은 버린다. import Foundation round(10.1) // 10 round(9.5) // 10 round(8.3) // 8 round(7.7) // 8 위 메서드들을 사용하려면 Foundat..
정리하여 지속적으로 업데이트 예정... ✔️ 초기화 임의의 값을 넣어서 생성하기 let arr = Array(1...10) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 크기가 정해진 배열 let arr = Array(repeating: 0, count: 5) // [0, 0, 0, 0, 0] ✔️ sorted() sort() 정렬하기 sort는 원본을 정렬하고, sorted는 정렬된 값을 복제하여 리턴한다. 그래서 sort 사용시 변수(var)에만 적용할 수 있으므로 주의한다. var arr = [5, 10, 4, 8, 1, 2] let sortedArr = arr.sorted(by: >) // [10, 8, 5, 4, 2, 1] arr.sort() // [1, 2, 4, 5, 8, 1..
백준 코딩테스트 할때 거의 필수적으로 사용하는 입력과 출력을 정리해보았다. ✔️ Apple 공식문서 참고 Apple Developer Documentation developer.apple.com ✔️ 입력 받기 readLine() 문자열 입력받기 let str = readLine()! 정수 입력받기 let num = Int(readLine()!)! 공백이 있는 숫자를 배열로 입력받기 (1 2 3 4 5) let nums = readLine()!.split(separator: “ “).map{ Int($0) } // nums = [1, 2, 3, 4, 5] 공백없는 숫자를 배열로 입력받기 (12345) let nums = readLine()!.map{ Int(String($0))! } // nums = [..