프로그래밍/BOJ
백준 알고리즘 [2908번] (C++) 상수
coty
2019. 7. 29. 03:35
Code
#include <iostream>
using namespace std;
int main() {
int a, b, div;
int num1[3] = { 0, };
int num2[3] = { 0, };
cin >> a >> b;
num1[0] = a / 100; // 자리수 분리
num1[1] = (a / 10) % 10;
num1[2] = a % 10;
num2[0] = b / 100; // 자리수 분리
num2[1] = (b / 10) % 10;
num2[2] = b % 10;
if (num1[2] < num2[2]) {
for (int i = 0; i < 3; i++)
cout << num2[3 - i - 1];
}
else if (num1[2] == num2[2]) {
if (num1[1] > num2[1])
for (int i = 0; i < 3; i++)
cout << num1[3 - i - 1];
else if (num1[1] == num2[1]) {
if (num1[0] < num2[0])
for (int a = 0; a < 3; a++)
cout << num2[3 - a - 1];
else if (num1[0] == num2[0]) {
cout << "상수: 숫자가 같습니다";
}
else if (num1[0] > num2[0]) {
for (int b = 0; b < 3; b++)
cout << num1[3 - b - 1];
}
}
else if (num1[1] < num2[1]) {
for (int k = 0; k < 3; k++)
cout << num2[3 - k - 1];
}
}
else if (num1[2] > num2[2]) {
for (int j = 0; j < 3; j++)
cout << num1[3 - j - 1];
}
}
또 다른 코드 >> 다시 풀어보니 스타일이 많이 바뀌었네
#include <iostream>
#include <vector>
using namespace std;
vector<int> ReverseNum(vector<int> a, int r, int x);
void CompareSize(vector<int> arr1, vector<int> arr2);
int main()
{
vector<int> arr1, arr2;
int x1 = 0, x2 = 0, r = 0;
cin >> x1 >> x2;
arr1 = ReverseNum(arr1, r, x1);
arr2 = ReverseNum(arr2, r, x2);
CompareSize(arr1, arr2);
}
void CompareSize(vector<int> a1, vector<int> a2)
{
for (int i = 0; i < 3; i++)
{
if (a1[i] > a2[i])
{
for (int i = 0; i < a1.size(); i++)
{
cout << a1[i];
}
break;
}
else if (a1[i] < a2[i])
{
for (int i = 0; i < a2.size(); i++)
{
cout << a2[i];
}
break;
}
}
}
vector<int> ReverseNum(vector<int> a, int r, int x)
{
r = 0;
for (int i = 0; i < 3; i++)
{
r = x % 10;
x = x / 10;
a.push_back(r);
} // for
return a;
}