[백준 1357] 뒤집힌 덧셈 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
두 수를 뒤집어서 더한 후, 그 결과도 다시 뒤집어 출력하는 문자열 기반의 연산 문제입니다.
- 입력으로 두 수가 주어지며, 각 수는 문자열 형태로 처리해 뒤집습니다.
- 뒤집힌 두 수를 정수로 변환해 더한 뒤, 그 합도 다시 문자열로 바꾸어 뒤집고 출력합니다.
- 중간에 0이 앞에 오는 경우도 있으므로, 숫자와 문자열 변환을 적절히 활용해야 합니다.
접근법
- 정수를 문자열로 변환한 후
reverse()
함수를 이용하여 뒤집는 보조 함수를 작성합니다. - 입력받은 두 수를 각각 뒤집어 더한 후, 그 결과를 다시 뒤집어 출력합니다.
- 문자열과 정수 간 변환을 유연하게 활용하는 것이 핵심입니다.
Code
[ C# ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
class Program {
static int Rev(int num) {
char[] chars = num.ToString().ToCharArray();
Array.Reverse(chars);
return int.Parse(new string(chars));
}
static void Main() {
var input = Console.ReadLine().Split();
int x = int.Parse(input[0]);
int y = int.Parse(input[1]);
int result = Rev(Rev(x) + Rev(y));
Console.WriteLine(result);
}
}
[ C++ ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <bits/stdc++.h>
using namespace std;
int rev(int num) {
string str = to_string(num);
reverse(str.begin(), str.end());
return stoi(str);
}
int main() {
int x, y; cin >> x >> y;
int result = rev(rev(x) + rev(y));
cout << result << "\n";
return 0;
}