두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)
첫째 줄에 A+B를 출력한다.
9223372036854775807 9223372036854775808
18446744073709551615
print(readLine()!.split{$0==" "}.map{Int($0)!}.reduce(0, +))
런타임 에러. 무엇을 요구하는데 그 요구하는 바를 틀렸나보다.
파이썬을 하다가 와서 그런지 ㅋ....큰수를 처리하는걸 다른식으로 구현해야하는것이었다.
힘내서 머리를 굴려보자.
너무 큰 숫자는 더할수 없어서 더하기를 구현을 해야하는 문제.
근데 아직 익숙하지 않은 부분이 많아 오래걸려서 지금까지 푼 내용을 저장해두고 나중에 다시 풀어보자...ㅠ..
let i = readLine()!.split{$0==" "}.map{String($0)}
var A = Array(i[0].map{String($0)}.reversed())
var B = Array(i[0].map{String($0)}.reversed())
var sum: [String] = []
var num = 0
if A.count > B.count {
for _ in 1...(A.count-B.count){
B.append("0")
}
} else {
for _ in 1...(B.count-A.count){
A.append("0")
}
}
for i in 0...(A.count-1) {
if A[i]==0 || B[i]==0 {
braek
}
let ab = Int(A[i])+Int(B[i])+num
if ab>10 {
sum.append(String(ab%10))
}else {
sum.append(String(ab))
}
}
print(Array(sum.reversed()).joined())
거짐 다 푼것같긴한데....돌려볼수가 없어서 ㅋㅋ 제출시에는 컴파일 너무 뜰것같으니 나중에 풀기로 했다..ㅎㅎ;
아니...예전에 나 생각보다 잘풀었는데..? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
덕분에 도움이 됐다! 과거의 나!