알고리즘 모음(C++)

백준 1769 - 3의 배수(C++) 본문

백준

백준 1769 - 3의 배수(C++)

공대생의 잡다한 사전 2023. 6. 1. 20:45

문제 링크입니다. https://www.acmicpc.net/problem/1769

 

1769번: 3의 배수

문제가 잘 풀리지 않을 때, 문제를 바라보는 시각을 조금만 다르게 가지면 문제가 쉽게 풀리는 경험을 종종 해 보았을 것이다. 여러 가지 방법이 있지만 그 중 하나로 우리가 풀고 싶은 문제를

www.acmicpc.net

주어진 수가 3의 배수인지 구하는 문제입니다.

 

주어진 수의 합을 구한다 -> 합이 3의 배수인지 확인한다. -> 합이 2자리 수 이상이면 다시 합을 구한다.(이때 단계를 1 더한다.)

 

이를 구해주면 됩니다.

 

자세한 것은 코드를 참고해주세요

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <cmath>

using namespace std;

string x;
int sum, stage;

int main(){
    cin.tie(0);
    cout.tie(0);
    cin >> x;
    while(int(x.size()) != 1){
        sum = 0;
        for(int i = 0; i < x.size(); i++){
            sum += (x[i] - '0');
        }
        x = to_string(sum);
        stage++;
    }
    cout << stage << "\n";
    if(x == "3" || x == "6" || x == "9") cout << "YES";
    else cout << "NO";
    return 0;
}

 

 

질문 및 조언은 댓글을 남겨주세요