Algorithm/백준

[백준] 10610번 : 30

youngine 2021. 1. 14. 22:25
 

10610번: 30

어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한

www.acmicpc.net

 

숫자의 범위가 크기때문에 반환할때 문자형으로 해야한다!!

#include <vector>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

string solution(string n) {
	int digit = 0;
	sort(n.rbegin(), n.rend());
	if (n.back() != '0'||n.front()=='0') return "-1";
	for (int i = 0;i < n.length();i++) {
		digit += n[i] - '0';
	}
	if (digit % 3 == 0) return n;
	else return "-1";
}


int main() {
	
	string n="";
	cin >> n;
	cout<<solution(n);
	return 0;
}