※이 설명은 공식 솔루션이 아닌 작성자의 개인적인 솔루션입니다.
앞에서는 숫자를 뒤집는 방법을 수식을 통해 계산하였습니다.
그 외에 다른 방법은, string STL을 이용하여 숫자를 문자열로 바꾼 뒤, reverse method를 사용하여 뒤집는 것입니다.
하지만 이 방법은 앞서 사용했던 방법에 비해 불필요한 행동을 많이 하게 됩니다.
반면, 정수형 데이터로는 저장할 수 없는 크기의 숫자(1000자리 라던지..) 를 뒤집을 때는 이러한 방법으로 해야됩니다.
소스코드에는 문자열을 이용하여 거꾸로 구구단을 푼 것을 첨부합니다.
※해당 소스코드는 참고용이며, 최적화 된 공식 솔루션 소스가 아닙니다. 이 소스를 그대로 복사하여 이용, 또는 제출하는 행위에 대한 불이익은 책임지지 않습니다.
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
int a, b, s = 0;
cin >> a >> b;
for (int i = 1; i <= b; i++)
{
string t = to_string(a*i);
reverse(t.begin(), t.end());
s = max(s, stoi(t));
}
cout << s;
}