[백준/C++] 8949 - 대충 더해

orangesnail·2025년 8월 16일

백준

목록 보기
142/169

https://www.acmicpc.net/problem/8949


구현하기

#include <string> 을 해주면 정수를 문자열로 바꿔주는 to_string() 함수를 사용할 수 있다.

이후 1의 자리부터 덧셈을 시작하기 위해 각 숫자의 맨 끝을 i, j에 저장해준다.

두 숫자 중 하나라도 남아 있는 경우 계속해서 반복하기 위해 while (i >= 0 || j >= 0) 문을 사용한다.
while문 안에서는 각 숫자의 맨 끝자리 숫자를 차례대로 꺼내서 더한 다음 현재 answer에 저장된 숫자의 오른쪽에 붙여준다.

문자열/정수 변환만 잘 해주면 어렵지 않게 풀 수 있는 문제였다..!

#include <iostream>
#include <string>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;

    string A = to_string(a);
    string B = to_string(b);
    string answer = "";

    int i = (int)A.size() - 1;
    int j = (int)B.size() - 1;

    while (i >= 0 || j >= 0) {
        int da, db;

        if (i >= 0) da = A[i] - '0';
        else da = 0;

        if (j >= 0) db = B[j] - '0';
        else db = 0;

        answer = to_string(da + db) + answer;
        i--;
        j--;
    }

    cout << answer << endl;
    return 0;
}
profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글