이 문제는 숫자를 뒤집어서 비교하는 문제입니다.
문제
문제의 이름이 상수입니다. 무슨 숫자인 줄 알았는데, 사람 이름이었습니다 :)
상수라는 사람이 있습니다. 이 사람한테 수의 크기를 비교하는 문제를 내주겠습니다. 225 vs 231 이라는 문제를 냈습니다. 하지만 상수라는 사람은 수학을 너무 못해서(?) 수를 거꾸로 읽습니다. 고로 위 문제는 상수에게 522 vs 132 로 비춰지기 때문에 더 큰 수는 225가 됩니다.
저희는 상수에게 두 수가 주어졌을 때 상수의 대답을 출력하는 프로그램을 만들어야합니다.
입력과 출력
입력
첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어집니다.
(두 수는 같지 않은 세 자리 수이며 0이 포함되어 있지 않습니다)
출력
첫째 줄에 상수의 대답이 출력됩니다.
입출력 예제
예제 입력
734 893
예제 출력
437
풀이
1. 입력받은 수를 거꾸로 해서 다시 받습니다.
2. 양 쪽의 수를 비교합니다.
3. 더 큰 수를 출력합니다.
코드
string input = Console.ReadLine();
string[] words = input.Split(' ');
입력받은 문자열을 문자 A, B로 나누어 받습니다. 아마 공백을 기준으로 숫자가 주어지는 듯 하니 공백을 기준으로 나눴습니다.
static string ReverseWord(string _word)
{
char[] word = _word.ToCharArray();
char tmp = word[0];
word[0] = word[2];
word[2] = tmp;
string reverseWord = new string(word);
return reverseWord;
}
입력받은 수를 거꾸로 돌려서 받아야합니다. 이 문제에선 3자리의 수가 들어오기 때문에 첫번째 수와 세 번째 수를 스왑해주기만 하면 돌려서 받을 수 있습니다.
int numA = int.Parse(ReverseWord(words[0]));
int numB = int.Parse(ReverseWord(words[1]));
문자A와 문자B를 수 비교를 위해 숫자로 받아주겠습니다.
int biggerNum = 0;
if(numA > numB)
{
biggerNum = numA;
}
else
{
biggerNum = numB;
}
Console.WriteLine(biggerNum);
수를 비교한 후 더 큰 수를 출력하면 '상수'의 대답이 됩니다.
정상 출력 됩니다.
코드 전문
class Program {
static void Main(string[] args)
{
string input = Console.ReadLine();
string[] words = input.Split(' ');
int numA = int.Parse(ReverseWord(words[0]));
int numB = int.Parse(ReverseWord(words[1]));
int biggerNum = 0;
if(numA > numB)
{
biggerNum = numA;
}
else
{
biggerNum = numB;
}
Console.WriteLine(biggerNum);
}
static string ReverseWord(string _word)
{
char[] word = _word.ToCharArray();
char tmp = word[0];
word[0] = word[2];
word[2] = tmp;
string reverseWord = new string(word);
return reverseWord;
}