본문 바로가기

problem solving

10610번: 30

아래의 블로그에서 배수판정법에 대한 정보를 참고해서 코드를 작성했다.

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