From 3619f441954c89ddd51da2a94de7b991b787b4ef Mon Sep 17 00:00:00 2001 From: songyc macbook Date: Thu, 20 Nov 2025 19:18:49 +0900 Subject: [PATCH] 20251120 logseq --- pages/Swift.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/pages/Swift.md b/pages/Swift.md index eac0385..e73358c 100644 --- a/pages/Swift.md +++ b/pages/Swift.md @@ -1,3 +1,50 @@ deck:: Logseq/coding tip -- \ No newline at end of file +- ## **► 배열 선언 및 초기화 + - ### **◼︎ 1차원 배열** + - #### **● 1부터 10까지를 요소로 가지는 배열 생성하기(2가지 방법)** #card + id:: 691ed199-9a79-4333-9bb2-7795990e158e + - ```swift + var arr = Array(1...N) + var arr = (1...N).map{$0} + ``` + - #### **● 모든 요소가 0인 길이 10의 배열 생성하기** #card + id:: 691ed271-962d-434b-9850-a7e3220421a5 + - ```swift + var arr = Array(repeating: 0, count: 10) + ``` + - ### **◼︎ 2차원 배열** + - #### **● 모든 요소가 0인 N*M 크기의 배열 생성** #card + id:: 5ff9dc64-e39e-45a5-8c66-222619db3651 + - ```swift + var arr = Array(repeating: Array(repeating: 0, count: M), count: N) + ``` + - #### **● N*M 크기의 2차원 배열의 각 요소가 현 요소의 행과 열을 가지는 튜플이 되도록(1-base index)** #card + id:: f91d7c74-dd80-40c2-9a15-d9f5a0eeb61b + - ```swift + var arr = (1...N).map{ row in + (1...M).map{ col in + (row, col) + } + } + ``` +- +- ## **► 고차함수 모음 + - ### **◼︎ .map()** + - #### **정의** #card + id:: 691edbcd-37ca-425c-85bb-f5ea0a45269d + - 컨테이너(배열 등) 내부의 모든 요소에 대해 지정된 클로저(함수)를 실행하고, 그 결과를 모아 새로운 배열로 반환하는 고차함수. + - 원본 배열을 수정하지 않는다. + - #### **문법구조** #card + id:: 691edc68-64c5-4d4a-a2c1-1f67dbf503e1 + - ```swift + let result = numbers.map { number in + return number * 2 + } + // 기본적으로 클로저를 입력받아서 실행됨. + // in 앞에는 컨테이너의 각 값을 의미하는 매개변수 명 + // in 뒤에는 실행할 함수를 작성함. + + let result = numbers.map { $0 * 2 } + // 클로저 문법에 따라 입력 변수를 그냥 $0, $1 형태로 해서 바로 사용하는 것도 가능함 + ``` \ No newline at end of file