숫자를 뒤집는 또 다른 방법

2017-01-09 06:56:25 | 조회수 837


※이 설명은 공식 솔루션이 아닌 작성자의 개인적인 솔루션입니다.


앞에서는 숫자를 뒤집는 방법을 수식을 통해 계산하였습니다.

그 외에 다른 방법은, 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;
}


숫자를 뒤집는 또 다른 방법 - 알고리즘닷컴
여기서는 https://acmicpc.net 의 문제를 기반으로 한 설명과 소스코드를 포스팅합니다.

36 개의 글