ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1단계 : 369 게임
    코딩문제/구름 IDE 2020. 7. 1. 10:41

     

     

    #include <iostream>
    #include <cstring>
    using namespace std;
    int count(char *s){
    	int count =0;
    	for(int i=0;i<strlen(s);i++){
    		if(s[i]=='3' || s[i]=='6' || s[i]=='9')
    			count++;	
    	}
    
    	return count; 
    }
    //반복문을 통해 입력받은 숫자까지 올린다.
    //숫자를 문자열로 변환후, 3,6,9에 해당하는 문자가 있는지 판단 후, 일치하는만큼 개수를 카운트
    //최종적으로 모든 숫자에서 이 카운터를 합해줌. 이를 프린트.
    int main() {
    	char arr[1000];
    	int num;
    	int tmp = 0;
    	cin >> num;
    	int sum = 0;
    	for(int i=1; i<num;i++){
    		sprintf(arr,"%d",i);
    		tmp = count(arr);
    		sum+=tmp;
    		}
    	cout << sum << endl;
    	
    	return 0;
    }
    

     

    처음엔 숫자형을 받아와서 처리를 해주려 했으나, 채점 데이터 6케이스중 2케이스를 통과하지 못하여 문자열로 입력받은 , 각각 문자로 분리하여 자리가 3,6,9 해당하면 카운트 증가시켜주는 함수를 구현. 해당함수를 메인함수에서 반복문을 통해 처음 입력받은 숫자까지 369 게임을 하면서, 일치하는 곳이 있으면, sum 함수를 통하여 모든 경우의 카운트를 더하게 함으로 문제를 해결함.

     

    '코딩문제 > 구름 IDE' 카테고리의 다른 글

    1단계 : 의좋은 형제  (0) 2020.07.04
    1단계 : 태민이의 취  (0) 2020.07.04
    1단계 : 고장난 컴퓨터  (0) 2020.07.01

    댓글

Designed by Tistory.