From 5b6236e4bb79a9aedfb215d5b151cf1a14bd6f74 Mon Sep 17 00:00:00 2001 From: sh0723 Date: Fri, 3 Jul 2026 12:57:28 +0900 Subject: [PATCH] =?UTF-8?q?15353=20:=20=ED=81=B0=20=EC=88=98=20A+B=20(2)?= =?UTF-8?q?=20solve?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/week4/BOJ15353/BOJ15353_V1.cpp | 64 ++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/week4/BOJ15353/BOJ15353_V1.cpp diff --git a/src/week4/BOJ15353/BOJ15353_V1.cpp b/src/week4/BOJ15353/BOJ15353_V1.cpp new file mode 100644 index 0000000..ed6d0d6 --- /dev/null +++ b/src/week4/BOJ15353/BOJ15353_V1.cpp @@ -0,0 +1,64 @@ +#include +using namespace std; +int main() { + ios_base::sync_with_stdio(false); + cin.tie(NULL); + cout.tie(NULL); + string A, B, ret; + cin >> A >> B; + int carr = 0; + bool A_large; + int cnt, aidx = A.size()-1, bidx = B.size()-1; + if (A.size() > B.size()) { + A_large = true; + cnt = B.size(); + } else { + A_large = false; + cnt = A.size(); + } + + while(cnt--) { + int a, b; + a = A[aidx--] - '0'; + b = B[bidx--] - '0'; + if (a+b+carr >= 10) { + ret = to_string((a + b + carr - 10)) + ret; + carr = 1; + } else { + ret = to_string(a + b + carr) + ret; + carr = 0; + } + } + + if (A_large) { + while(true){ + if (aidx == -1) break; + int a = A[aidx--] - '0'; + if (a+carr >= 10) { + ret = to_string((a + carr - 10)) + ret; + carr = 1; + } else { + ret = to_string(a + carr) + ret; + carr = 0; + } + } + } else { + while(true){ + if (bidx == -1) break; + int b = B[bidx--] - '0'; + if (b+carr >= 10) { + ret = to_string((b + carr - 10)) + ret; + carr = 1; + } else { + ret = to_string(b + carr) + ret; + carr = 0; + } + } + } + if (carr) { + ret = to_string(carr) + ret; + } + + cout << ret << '\n'; + return 0; +} \ No newline at end of file