백준 10757번 - 큰 수 A+B (풀이중)

이설군·2022년 6월 21일
0

백준

목록 보기
31/52

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)

출력

첫째 줄에 A+B를 출력한다.

예제 입력 1

9223372036854775807 9223372036854775808

예제 출력 1

18446744073709551615

제출

맞은 제출 1

오답노트

틀린 제출 1

print(readLine()!.split{$0==" "}.map{Int($0)!}.reduce(0, +))

런타임 에러. 무엇을 요구하는데 그 요구하는 바를 틀렸나보다.
파이썬을 하다가 와서 그런지 ㅋ....큰수를 처리하는걸 다른식으로 구현해야하는것이었다.
힘내서 머리를 굴려보자.

숏코딩

숏코딩 예제 1

너무 큰 숫자는 더할수 없어서 더하기를 구현을 해야하는 문제.
근데 아직 익숙하지 않은 부분이 많아 오래걸려서 지금까지 푼 내용을 저장해두고 나중에 다시 풀어보자...ㅠ..

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())

거짐 다 푼것같긴한데....돌려볼수가 없어서 ㅋㅋ 제출시에는 컴파일 너무 뜰것같으니 나중에 풀기로 했다..ㅎㅎ;

profile
티끌 모아 태산. 내가 가는 길이 옳은 길이라 믿으며 최선을 다해 걷는다.

1개의 댓글

comment-user-thumbnail
2022년 10월 20일

아니...예전에 나 생각보다 잘풀었는데..? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
덕분에 도움이 됐다! 과거의 나!

답글 달기