본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 11648 : 지속

반응형

https://www.acmicpc.net/problem/11648

 

11648번: 지속

키파는 곱하기를 좋아한다. 그래서 키파는 수를 보면 각 자리 숫자를 모두 곱해서 하나의 수를 만든다. 키파는 기쁘다. 키파는 이 작업을 계속해서 반복한다. 그런데 수가 한 자리가 되었다. 키

www.acmicpc.net

간단한 구현문제였습니다.

📕 풀이방법

📔 입력 및 초기화

문자열 s와 단계 stage를 선언 후 입력받습니다.

📔 풀이과정

s가 한 자리 수가 될 때까지 공식을 적용하고 stage++해줍니다.

📔 정답출력

stage를 출력해줍니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;

string s;
int stage;

int getNum(string str){
  int num = 1;
  if(str == "0") return 0;
  for(auto s : str) num *= s - '0';
  return num;
}

int main(){
  cin >> s;

  while(1){
    if(s.size() == 1) break;
    stage++;
    int num = getNum(s);
    s = to_string(num);
  }

  cout << stage;
}

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.