[BAEKJOON] 백준 1357: 뒤집힌 덧셈 (C#)
2024. 5. 20. 00:44ㆍIT/BaekJoon
문제 링크
https://www.acmicpc.net/problem/1357
문제
어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다.
두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오
입력
첫째 줄에 수 X와 Y가 주어진다. X와 Y는 1,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 문제의 정답을 출력한다.
통과한 답안
namespace _1357
{
internal class Program
{
static void Main(string[] args)
{
string[] inputs = Console.ReadLine().Split(' ');
string X = inputs[0];
string Y = inputs[1];
int sum = Rev(X) + Rev(Y);
Console.WriteLine(Rev(sum));
}
static int Rev(string str)
{
char[] charArray = str.ToCharArray();
Array.Reverse(charArray);
return int.Parse(new string(charArray));
}
static int Rev(int num)
{
return Rev(num.ToString());
}
}
}
문제를 간략하게 해석하면
두 숫자가 주어진 경우, 두 숫자를 각각 역순으로 된 숫자로 만들고 둘을 더한 뒤에
다시 그 결과를 역순으로 변형하여 출력하는 것이다.
이 문제의 풀이에서 주요하게 생각한 부분은
string의 경우에는 역순으로 숫자를 만들기 편하다는 점으로
이를 이용하여 string을 매개변수로 갖는 Rev 함수를 만들었다.
이후에 int를 매개변수로 받는 Rev 함수를 만들어
두 역순으로 된 숫자의 합도 계산할 수 있게 처리하였다.
'IT > BaekJoon' 카테고리의 다른 글
[BAEKJOON] 백준 1672: DNA 해독 (C#) (0) | 2024.05.20 |
---|---|
[BAEKJOON] 백준 1357: 세준세비 (C#) (0) | 2024.05.20 |
[BAEKJOON] 백준 1356: 유진수 (C#) (0) | 2024.05.19 |
[BAEKJOON] 백준 1515: 수 이어 쓰기 (C#) (0) | 2024.05.17 |
[BAEKJOON] 백준 4690: 완전 세제곱 (C#) (0) | 2024.05.15 |