-
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