๐ stride for๋ฌธ ์ผ์ ์ซ์๋งํผ ์ฆ๊ฐ์ํค๋ ๋ฐฉ๋ฒ stride ๋ฐ๋ชฉ๋ฌธ์ ์ฌ์ฉํ๋ค ๋ณด๋ฉด 1์ฉ ์ฆ๊ฐ๊ฐ ์๋ 2 ํน์ 3 ๋ฑ ์ํ๋ ์ซ์๋งํผ ์ฆ๊ฐ์์ผ์ผ ํ ๊ฒฝ์ฐ๊ฐ ์๋ค. ๊ทธ ๋, stride๋ผ๋ ๊ฒ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ๊ธฐ๋ณธํํ 2๊ฐ์ง stride(from: , to: , by: ) " 3 6 9 "๋ฅผ ์์ฐจ์ ์ผ๋ก ์ถ๋ ฅ 12 ์ถ๋ ฅ X stride(from: , through: , by: ) " 3 6 9 12 "๋ฅผ ์์ฐจ์ ์ผ๋ก ์ถ๋ ฅ ๐ก ์ฆ, to๋ to์ ๋ค์ด๊ฐ๋ ๊ฐ์ ํฌํจํ์ง ์๋ ๋ฒ์์ด๊ณ , through๋ through์ ๋ค์ด๊ฐ๋ ๊ฐ์ ํฌํจํ ๋ฒ์์ด๋ค. ํ๋ก๊ทธ๋๋จธ์ค ์์ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/181886 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ..
๐ enumerated ๋ฐฐ์ด์ index๊ฐ ์ฐพ๊ธฐ enumerated ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ๋ฉด์ ๊ทธ ์์์ ์ธ๋ฑ์ค ๊ฐ์ ์๊ณ ์ถ์ ๋ enumerated()๋ฅผ ์ฌ์ฉํ๋ค๊ณ ์ดํดํ๋ฉด ๋๋ค. ์์ var array : [String] = ["A","B","C","D","E'] for (index, value) in arr.enumerated() { print("\index) : \(value)" } // 0 : A // 1 : B // 2 : C // 3 : D // 4 : E ์๊ณ ๋ฆฌ์ฆ ์์ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/181886 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋ก..
๐ Swift ์์ ๋ฌธ์์ด index ์ ๊ทผ์ ๋ํ์ฌ Swift ์์ ๋ฌธ์์ด์ ์ด๋ป๊ฒ ์กฐํํ ๊น ? swift์์ ๋ฌธ์์ด์ ์ ์ index๋ก ์กฐํํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ๊ทธ๋ฌ๋ฉด Swift์์๋ ์ด๋ค ๋ฐฉ์์ผ๋ก ์กฐํํด์ผ ํ ๊น ? String.Index๋ฅผ ์ฌ์ฉํด์ ์ ๊ทผํ๋ค. // ์ ์ธ let str = "hello world!" // ์กฐํ str[str.startIndex] // 'h' str[str.endIndex] // '!'๊ฐ ๋์ฌ์ง ์์๊ฒ ์ง๋ง ์๋ฌ ๋ฐ์ var idx = str.index(str.startIndex, offsetBy: 6) str[idx] // 'w' // ๋ฐ๋ณต๋ฌธ์ ์ธ๋ฑ์ค์ฒ๋ผ ๋ฝ์ ์ฌ์ฉํ๋ ค๋ฉด indicies ๋ฉ์๋ ์ฌ์ฉ for i in str.indices { print(str[i]) // ..
๐ ๋ฌธ์์ด ๋ด ํน์ ๋ฌธ์ ๋ณ๊ฒฝ (์นํ) ReplacingOccurrences ๋ฌธ์์ด์ ๋์ฒดํ์ฌ ์ ๋ฌธ์์ด์ ๋ฐํํ๋ค. - of target : ๋ฐ๊ฟ ๋ฌธ์์ด - with replacement : ๋์ฒดํ ๋ฌธ์์ด ์ฌ์ฉ์์ let str = "Bye Nice to meet you" let result = str.replacingOccurrences(of: "Bye", with: "Hello") print(result) // "Hello Nice to meet you" of: ์ ์๋ "Bye"๋ฅผ "Hello"๋ก ๋ณ๊ฒฝํ๋ ์ฝ๋์ด๋ค.
๐ ๋ฌธ์์ด ์ฒ๋ฆฌ ๋ฉ์๋ split components Split split๋ฉ์๋๋ ๋ค์ํ parameter๋ฅผ ์ง์ํ๋ค. ๊ฐ๊ฐ์ ์ญํ ์ ๋ค์๊ณผ ๊ฐ๋ค. - separater : ์ชผ๊ฐ๋ ค๋ ๋ฌธ์ ๋จ์ - maxSplits : ์ง์ ํ ๋ฌธ์ ๋จ์๋ก ์ผ๋ง๋ ์ชผ๊ฐค์ง - omittingEmptySubsequences : Bool๊ฐ์ผ๋ก ๊ฒฐ๊ณผ๊ฐ์์ ๋น ์ํ์ค์ ํฌํจ ์ ๋ฌด๋ฅผ ์ค์ ์ฐธ๊ณ : https://zeddios.tistory.com/232 split์ ๋ง ๊ทธ๋๋ก ๋ฌธ์์ด์ ํน์ ๋ฌธ์ ๊ธฐ์ค์ผ๋ก ์ชผ๊ฐค ์ ์๋ค. ๋ฐํํ์ Stringํ์ ์ [Substring]์ผ๋ก ๋ฐํํ๊ฒ ๋๋ค. ๋ฐฐ์ด์ ๋ฐํ๋ฐ๊ฒ ๋๋ ๊ฒ์ด๋ค. ๋ํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ค์ด๊ฐ์๋ค. ๋๋ฌธ์ ๋ฐ๋ก import Foundation์ ํ ํ์์์ด ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. let ..
๐ ๊ณ ์ฐจํจ์ Map Filter Reduce ๊ณ ์ฐจํจ์๋ ? ๋ค๋ฅธ ํจ์๋ฅผ ์ ๋ฌ์ธ์๋ก ๋ฐ๊ฑฐ๋ ํจ์์คํ์ ๊ฒฐ๊ณผ๋ฅผ ํจ์๋ก ๋ฐํํ๋ ํจ์ ( = ๋งค๊ฐ๋ณ์๋ก ํจ์๋ฅผ ๊ฐ๋ ํจ์ ) Map ( ๋ณํ ) ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ค. ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ๋ณํํ์ฌ ์๋ก์ด ์ปจํ ์ด๋๋ฅผ ๋ง๋๋๋ฐ, ๊ธฐ์กด ๋ฐ์ดํฐ๋ ๋ณํ๋์ง ์๋๋ค. Map์ ๊ธฐ์กด์ for-in ๊ตฌ๋ฌธ๊ณผ ํฐ ์ฐจ์ด๊ฐ ์์ง๋ง, ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ด ์๋ค. ์ฝ๋์ ๊ฐ๊ฒฐ์ฑ ์ฌ์ฌ์ฉ ์ฉ์ด ์ปดํ์ผ๋ฌ ์ต์ ํ ์ฑ๋ฅ ์ข์ map์ ๊ธฐ๋ณธ ํํ array.map(transform:T throws -> T) Tํ์ ์ transform์ ๋ฐ์ ์๋ก์ด Txใ ์ ์ ์ปจํ ์ด๋๋ฅผ ์์ฑํ๋ค๋ ๋ง์ด๋ค. * ๊ธฐ์กด for - in ๊ตฌ๋ฌธ let numArray = [1,3,5,7,9] var multiArra..
๐ prefix suffix prefix ์ปฌ๋ ์ ์ ์ด๊ธฐ ์์๋ฅผ ํฌํจํ๋ ์ง์ ๋ ์ต๋ ๊ธธ์ด๊น์ง ํ์ ์ํ์ค๋ฅผ ๋ฐํํ๋ค. ์ต๋ ๊ธธ์ด๊ฐ ์์ ์๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ์๋ ์ปฌ๋ ์ ์ ๋ชจ๋ ์์๊ฐ ํฌํจ๋๋ค. let numbers = [1, 2, 3, 4, 5] print(numbers.prefix(2)) // Prints "[1, 2]" print(numbers.prefix(10)) // Prints "[1, 2, 3, 4, 5]" ๊ด๋ จ ๋ฌธ์ prefix ๋ฅผ ์ด์ฉํ์ฌ ํผ๋ค๋ฉด ? import Foundation func solution(_ my_string:String, _ n:Int) -> String { return String(my_string.prefix(n)) } ๐ก my_string:prefix(n) ์์..
๐ String ๊ตฌ์กฐ์ฒด์ด๊ณ ๋ค๋ฅธ ์ธ์ด์ ๊ฐ์ด character๊ฐ ๋ชจ์ธ ์งํฉ Array() : ๋ฌธ์์ด -> ๋ฐฐ์ด ๋ฌธ์์ด์ ์์ ํ๋ํ๋๋ฅผ ๋ฐฐ์ด๋ก ๋ง๋๋ ๋ฐฉ๋ฒ. let name: String = "SWIFT" let arrName = Array(name) print(arrName) // ["S","W","I","F","T"] count() , empty() : ๋ฌธ์์ด์ ๊ธธ์ด ๊ตฌํ๊ธฐ let string: "A Unicode string value that is a collection of characters." print(string.count) // 58 let empty = "" print(empty.isEmpty) // true print(string.isEmpty) // false append() : ..