dev._.note

[TIL] 231123_TIL 본문

TIL (Today I Learned)

[TIL] 231123_TIL

Laena 2023. 11. 23. 20:41
🌈 2개의 배열을 가지고 행마다 덧셈을 해주는 알고리즘을 풀었는데 for문을 사용해서 1차적으로 풀이하고 zip함수와 고차함수(map)을 사용하여 한줄로 해결했다.
요즘 알고리즘을 풀이 할 때 하나의 풀이만 쓰지 않고 for문 풀이와 고차함수 풀이를 2번 따로 하면서 고차함수를 익숙하게 사용하려고 노력중이다.

🌈 새로 알게 된 부분
  ⭐️ git/github/cli 명령어

🌈 배움이 필요한 부분
  ⭐️ 고차함수

 

👏 새로 알게 된 부분

⭐️ mac 깃허브 연동법

https://how-mrk.tistory.com/entry/Git-Git-Github-CLI-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC

 

[Git] Git / Github / CLI 명령어 정리

👏 Git 명령어 분류 명령어 설명 새로운 저장소 생성 $ git init .git 하위 디렉토리 생성 (폴더를 만든 후, 그 안에서 명령실행 > 새로운 git저장소 생성) 저장소 복제/다운로드 $ git clone $ git clone /로

how-mrk.tistory.com

 

👏 코딩테스트 풀이

 

[level 1] Title: 행렬의 덧셈, Time: 86.18 ms, Memory: 62.6 MB -BaekjoonHub · mirae0312/Programmers_Algorithm@5ae8f47

mirae0312 committed Nov 23, 2023

github.com

 

import Foundation

func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
    return zip(arr1, arr2).map{zip($0,$1).map{$0+$1}}
}

//for문 풀이

let arr1 = [[1,2],[2,3]]
let arr2 = [[3,4],[5,6]] 

// 0. 첫번째 나오는 map 역할을 하는 변수
var map1 = [[Int]]()

// 1. zip(arr1, arr2)
for (a1, a2) in zip(arr1, arr2) {
    var map2 = [Int]()
    
    // 2. zip($0,$1)
    for (b1, b2) in zip(a1, a2) {
        
        // 3. map{$0+$1}
        map2.append(b1+b2)
    }
    
    map1.append(map2)
}

print(map1) //[[4, 6], [7, 9]]

'TIL (Today I Learned)' 카테고리의 다른 글

[TIL] 231127_TIL  (3) 2023.11.27
[TIL] 231124_TIL  (1) 2023.11.24
[TIL] 231122_TIL  (1) 2023.11.22
[TIL] 231121_TIL  (0) 2023.11.21
[TIL] 231120_TIL  (0) 2023.11.20