Cospro 2급/C언어

[1차]문제 6. 369 게임 박수의 갯수는? 풀이 및 해석

SRin23 2021. 5. 5. 22:52

■ 문제설명

369 게임은 여러 명이 같이하는 게임입니다. 게임의 규칙은 아래와 같습니다

 → 한 사람씩 차례대로 숫자를 1씩 더해가며 말합니다.

 → 말해야 하는 숫자에 3, 6, 9 중 하나라도 포하모디어 있다면 숫자를 말하는 대신 숫자에 포함된 3, 6, 9의 개수만큼 손뼉을 칩니다.

 

어떤수 number가 매개변수로 주어질때, 1부터 number까지 369 게임을 올바르게 진행했을 경우 박수를 총 몇 번 쳤는지를 return하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해 주세요

 

■ 매개변수 설명

number가 solution함수의 매개변수로 주어집니다.

number는 10이상 1,000이하의 자연수입니다.

 

■ return값 설명

1부터 number까지 369게임을 올바르게 진행했을 경우 박수를 총 몇번을 쳤는지 return해주세요.

 

■ 예시

number return
40 22

 

■예시 설명

3, 6, 9 : 각각 한번씩 박수

13, 16, 19 : 각각 한번씩 박수

23, 26, 29 : 각각 한번씩 박수

30, 31, 32, 33, 34....., 39 : 십의 자리 열번 + 일의 자리 세번 총 13번 박수

따라서 3+3+3+13 = 22번의 박수를 칩니다.

 

■ 초기 내용

[출처]goormedu COSPRO 2급 기출문제 1차-6번 초기내용

 

■ 답안

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int number) {
	int count = 0;
	for (int i = 1; i <= number; i++) {
		int current = i;
		while (current != 0) {
			if (current%10==3||current%10==6||current%10==9)
				count++;
			current /= 10;
		}
	}
	return count;
}

int main() {
    int number = 40;
    int ret = solution(number);

    printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}

 

■ 답안풀이 및 해석

 

int main() {
    int number = 40;
    int ret = solution(number);

    printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}

//number을 40으로 초기화

//ret에 solution의 return값 저장

//printf()함수를 이용하여 출력

 

int solution(int number) {
  int count = 0;
  for (int i = 1; i <= number; i++) {
    int current = i;
    while (current != 0) {
      if (current%10==3||current%10==6||current%10==9)
        count++;
      current /= 10;
    }
  }
  return count;
}

//매개변수로 number을 받음

//count변수를 0으로 초기화

//for문을 이용하며 number이하까지 1씩 증가 반복문

// current가 0ㅇ 아닐때까지 반복

//만약 current의 나머지가 3, 6, 9이면 count+1

//current/=10을 통해 10의자리가 3인지 확인

//반복문이 끝나면 빠져나감

 

 

■ 실행결과

 

https://edu.goorm.io/learn/lecture/16921/cos-pro-2%25EA%25B8%2589-%25EA%25B8%25B0%25EC%25B6%259C%25EB%25AC%25B8%25EC%25A0%259C-c%25EC%2596%25B8%25EC%2596%25B4

 

COS PRO 2급 기출문제 - C언어 - 구름EDU

YBM IT에서 시행하는 COS Pro 자격증 기출문제를 직접 풀어볼 수 있는 실습 위주의 강좌입니다.

edu.goorm.io