반응형
<코드>
#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;
string s;
vector<int> v;
int N, sum;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie();
cin >> s;
for (int i = 0; i < s.size(); i++)
{
v.push_back(s[i] - '0');
sum += v[i];
}
sort(v.begin(), v.end(), greater<int>());
if (v[v.size() - 1] == 0 && sum % 3 == 0)
for (int i = 0; i < v.size(); i++) cout << v[i];
else cout << -1;
}
풀이 방법
각 자릿수들을 벡터에 push 한 뒤
각 자리 수들의 합이 3으로 나눠지며, 0이 하나라도 있을 경우 30의 배수가 될 수 있으므로
30의 배수를 만들 수 있다면 각 자릿수들이 담긴 벡터를 내림차순으로 정렬한 뒤 그대로 출력한다.
반응형
'🧩PS > 🥈Nomal' 카테고리의 다른 글
[C/C++] 백준 1755번 - 숫자놀이 (0) | 2021.03.31 |
---|---|
[C/C++] 백준 3584번 - 가장 가까운 공통 조상 (LCA) (0) | 2021.03.30 |
[C/C++] 백준 2636번 - 치즈 (0) | 2021.03.26 |
[C/C++] 백준 1600번 - 말이 되고픈 원숭이 (0) | 2021.03.26 |
[C/C++] 백준 1915번 - 가장 큰 정사각형 (DP) (0) | 2021.03.26 |