[문제 링크] : https://www.acmicpc.net/problem/5893
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
string A, B, Ans;
cin >> A;
B = A;
A += "0000";
int tmp = 0;
while(B.empty() == false){
int val = A.back() + B.back() - 96 + tmp;
tmp = val / 2;
Ans += to_string(val % 2);
A.pop_back();
B.pop_back();
}
while(A.empty() == false){
int val = A.back() - 48 + tmp;
tmp = val / 2;
Ans += to_string(val % 2);
A.pop_back();
}
if(tmp){
Ans += "1";
}
reverse(Ans.begin(), Ans.end());
cout << Ans << "\n";
return 0;
}
'알고리즘' 카테고리의 다른 글
[알고리즘] 백준 2386 - 도비의 영어 공부 (C++) (0) | 2024.12.22 |
---|---|
[알고리즘] 백준 12790 - Mini Fantasy War (C++) (0) | 2024.12.21 |
[알고리즘] 백준 2804 - 크로스워드 만들기 (C++) (0) | 2024.12.19 |
[알고리즘] 백준 26545 - Mathematics (C++) (0) | 2024.12.18 |
[알고리즘] 백준 9550 - 아이들은 사탕을 좋아해 (C++) (0) | 2024.12.17 |