Algorithm/기타

(BOJ) 10610번 30

노는게제일좋아! 2019. 2. 21. 14:53
반응형

문제 : https://www.acmicpc.net/problem/10610

 

 

 

문제 풀이:

  • 범위가 $10^5$인 것이 아니라 $10^5$개의 숫자로 구성된 것
  • 30의 배수이려면
    • 0이 존재
    • 각 자리의 수의 합이 3의 배수

 

 

 

소스 코드:

더보기

#include <iostream>

#include <string>

#include <vector>

#include <algorithm>

using namespace std;

 

long long sum;

string n;

 

int main()

{

ios::sync_with_stdio(false);

cin.tie(NULL), cout.tie(NULL);

 

cin >> n;

 

vector<int> v;

 

for (int i = 0; i < n.size(); i++) {

v.push_back(n[i] - '0');

sum += n[i] - '0';

}

sort(v.begin(), v.end());

if (v[0] || sum % 3) cout << "-1";

else {

for (int i = n.size()-1; i>=0; i--) {

cout << v[i];

}

}

 

return 0;

}

 

 

반응형