[내일배움캠프] 260121 TIL - 코테 연습

Bambu·2026년 1월 21일

내배캠 TIL

목록 보기
23/52

오늘은 하루종일 코테 문제만 풀었다...
백준을 처음 사용해봤는데, 입력값을 받는 함수부터 모조리 구현해야해서 다른 사이트에 비해 번거로운 것 같다.

새싹문제는 다 풀어볼까 싶지만.. 다음 단계를 풀지는 고민이다.

그리고 오늘 제일 고전했던 문제

2738번 행렬 덧셈

import Foundation

let nm = (readLine() ?? "").components(separatedBy: .whitespaces).compactMap(Int.init)

let n = nm[0]
let m = nm[1]

var arrA: [[Int]] = []
var arrB: [[Int]] = []

for row in 0..<(n * 2) {
    if row < n {
        arrA.append((readLine() ?? "").components(separatedBy: .whitespaces).compactMap(Int.init))
    } else {
        arrB.append((readLine() ?? "").components(separatedBy: .whitespaces).compactMap(Int.init))
    }
}

var result: [[Int]] = []
for a in arrA.enumerated() {
    var row: [Int] = []
    
    for i in 0..<m {
        row.append(a.element[i] + arrB[a.offset][i])
    }
    result.append(row)
}

print(result)

→ 기존 작성했던 코드였는데, 왜인지 자꾸 틀렸다고 했다.
결과 배열은 문제에서 요구하는 대로 잘 나왔었는데 영문을 모르겠었다.
시간 초과 때문인가...싶긴했는데 여기서 더 줄일 방법은 모르겠고...

for a in arrA.enumerated() {
    var row: [Int] = []
    
    for i in 0..<m {
        row.append(a.element[i] + arrB[a.offset][i])
    }
    print(row.map(String.init).joined(separator: " "))
}

→ 그러다 발견한 사실은, 기존 코드에서는 배열을 바로 출력했다는 것이다.

4 4 4
6 6 6
5 6 100
형태로 나와야하는데
[[4, 4, 4], [6, 6, 6], [5, 6, 100]]
으로 나오고 있어서 틀렸다고 판정되고 있었던 거였다.

그래서 print(result)를 삭제하고 배열을 문자열로 출력하도록 코드를 수정하였다.

후... 왜 틀렸는지 알려주는 다른 사이트가 정말 친절하다는 것을 깨달았다...

여튼 그래도 정답을 맞췄으니 다행이었다.

profile
안녕하세요, iOS 개발을 공부하고 있는 Bambu입니다. (프로필: Swifticons)

0개의 댓글