본문 바로가기
코테/백준

[백준] 10757 큰수 A+B 스위프트

by 리드맥 2022. 1. 2.

코드:

let input = readLine()!.split(separator: " ")

var input1 = input[0]
var input2 = input[1]
var arr1:[Int] = []
var arr2:[Int] = []
var result:[Int] = []
for i in input1.reversed() {
    arr1.append(Int(String(i))!)
}

for i in input2.reversed() {
    arr2.append(Int(String(i))!)
}

if input1.count > input2.count {
    for i in 1...input1.count - input2.count{
    arr2.append(0)
    }
    arr1.append(0)
    arr2.append(0)
}else if input2.count > input1.count {
    for i in 1...input2.count - input1.count{
    arr1.append(0)
    }
    arr1.append(0)
    arr2.append(0)
}else {
    arr1.append(0)
    arr2.append(0)
}

for i in 0...arr1.count - 1 {
    if arr1[i] + arr2[i] > 9 {
        arr1[i+1] += 1
        var sum = arr1[i] + arr2[i] - 10
        result.append(sum)
        
    }else {
        var sum = arr1[i] + arr2[i]
        result.append(sum)
    }
}

if result.last == 0 {
    result.removeLast()
}
var res = result.reversed().reduce(""){ $0 + String($1) }

print(res)


설명:

파이썬은 그냥 프린트하면 되는데 스위프트는 배열에 집어넣어서 하나씩 해야한다 ..
 
결과:

댓글