본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 17614 : 369

반응형

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

 

17614번: 369

민수는 같은 반 친구들과 369게임을 하고 있다. 369게임은 여러 명이 원형으로 둘러 앉아 시작 위치의 사람이 1을 외치며 시작된다. 이후 시계방향으로 돌아가며 2, 3, 4와 같이 1씩 증가된 수가 자

www.acmicpc.net

구현문제였습니다.

📕 풀이방법

📔 입력 및 초기화

숫자 n, 박수 횟수 ans를 선언 후 n에 입력받습니다.

📔 풀이과정

1 ~ n까지 for loop를 수행하며 getClapNum함수를 진행합니다.

 1. 한 자리 수씩 확인하며 3, 6, 9중 하나라면 수를 하나씩 증가시킵니다. 이를 지역변수 cnt에 저장합니다.

 2. cnt를 반환합니다.

📔 정답출력

ans를 출력합니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int n, ans;
int getClapNum(int num){
    int cnt = 0, tmp = num;
    while(tmp){
        if(tmp%10 == 3 || tmp%10 == 6 || tmp%10 == 9) cnt++;
        tmp/=10;
    }
    return cnt;
}
int main(){
    cin >> n;
    for(int i = 1; i <= n; i++) ans += getClapNum(i);
    cout << ans;
}