아래의 블로그에서 배수판정법에 대한 정보를 참고해서 코드를 작성했다.
https://freshrimpsushi.tistory.com/21
3의 배수판정법과 9의 배수판정법의 증명
각 자리 숫자를 모두 더해 3의 배수면 3의 배수, 9의 배수면 9의 배수 예를 들어 8142는 8142=3*2714로 3의 배수고, 실제로 8+1+4+2=15는 3의 배수다. 1945125는 1945125=9*216125로 9의 배수고, 실제로 1+9+4+5+1..
freshrimpsushi.tistory.com
#include <iostream>
#include <string>
#include <algorithm>
int main(void) {
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
std::string val;
std::cin >> val;
int sum = 0;
bool flag = false;
for(int i = 0; i < val.size(); i++) {
sum += val[i] - '0';
if(val[i] - '0' == 0) {
flag = true;
}
}
if(sum % 3 == 0 && flag == true) {
std::sort(val.begin(), val.end(), std::greater<>());
std::cout << val << "\n";
}
else {
std::cout << -1 << "\n";
}
return 0;
}
|
cs |
'problem solving' 카테고리의 다른 글
10844번: 쉬운 계단 수 (0) | 2020.03.05 |
---|---|
10815번: 숫자 카드 (0) | 2020.03.04 |
9613번: GCD 합 (0) | 2020.03.04 |
9446번: 텀 프로젝트 (0) | 2020.03.04 |
9019번: DSLR (0) | 2020.03.03 |