[Swift] lv.1 행렬의 덧셈 | Programmers

2024. 3. 18. 09:31· iOS/Programmers
목차
  1. 문제 설명
  2. 제한 조건
  3. 1차 고민
  4. 1차 코드
  5. 1차 결과
  6. 다른 사람의 코드

문제 설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.

제한 조건

행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

1차 고민

자릿수에 맞게 빈 배열을 여러 개 만들고 각 배열에 a + b를 append하는 방법... 될 것 같다.

1차 코드

func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
    var arr3: [[Int]] = []
    for i in 0..<arr1.count {
        arr3.append([])
        for j in 0..<arr1[i].count {
            arr3[i].append(arr1[i][j] + arr2[i][j])
        }
    }
    return arr3
}

1차 결과

다른 사람의 코드

func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] {
    var i = 0, j = 0

    return arr1.map { (numbers) -> [Int] in
        defer {
            i += 1
            j = 0
        }
        return numbers.map { (number) -> Int in
            defer {
                j += 1
            }
            return number + arr2[i][j]
        }
    }
}

map을 이렇게 사용할 수도 있구나 싶다. defer는 자신의 실행을 맨 마지막으로 미룰 때 사용한다는 사실도 몰랐는데 알게 되었다.

for문 작성없이도 훨씬 단순해진 것 같아서 앞으로 이런 방법으로 코드를 작성하는 능력을 길러봐야 할 듯...

저작자표시 (새창열림)

'iOS > Programmers' 카테고리의 다른 글

[Swift] lv.1 직사각형 별찍기 | Programmers  (0) 2024.03.20
[Swift] lv.2 최댓값과 최솟값 | Programmers  (0) 2024.03.19
[Swift] lv.1 문자열 다루기 기본 | Programmers  (2) 2024.03.15
[Swift] lv.1 부족한 금액 계산하기 | Programmers  (3) 2024.03.14
[Swift] 문자열 내림차순으로 배치하기 | Programmers  (0) 2024.03.13
  1. 문제 설명
  2. 제한 조건
  3. 1차 고민
  4. 1차 코드
  5. 1차 결과
  6. 다른 사람의 코드
'iOS/Programmers' 카테고리의 다른 글
  • [Swift] lv.1 직사각형 별찍기 | Programmers
  • [Swift] lv.2 최댓값과 최솟값 | Programmers
  • [Swift] lv.1 문자열 다루기 기본 | Programmers
  • [Swift] lv.1 부족한 금액 계산하기 | Programmers
sngsp
sngsp
야구돌이 집사의 코딩 그리기
sngsp
[Sngsp] Coding Drawing
sngsp
전체
오늘
어제
  • 분류 전체보기 (90)
    • C (12)
      • BaekJoon (12)
    • iOS (78)
      • Programmers (48)
      • Allen Swift School (1)
      • TIL (Today I Learned) (29)

블로그 메뉴

  • 홈
  • C
  • Swift

공지사항

인기 글

태그

  • 개발자
  • 개발
  • 엑스코드
  • UIkit
  • 백준
  • c언어
  • 알고리즘
  • 공부
  • 스위프트
  • 프로그래머스
  • Programmers
  • ios
  • til
  • algorithm
  • XCode
  • baekjoon
  • 코딩
  • Swift
  • 애플
  • 문법

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
sngsp
[Swift] lv.1 행렬의 덧셈 | Programmers
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.