티스토리 뷰
문제
369게임은 여러 명이 같이하는 게임입니다. 게임의 규칙은 아래와 같습니다.
1부터 시작합니다.
- 한 사람씩 차례대로 숫자를 1씩 더해가며 말합니다.
- 말해야 하는 숫자에 3,6,9중 하나라도 포함되어있다면 숫자를 말하는 대신 숫자에 포함된 3,6,9의 개수만큼 손뼉을 칩니다.
어떤 수 number가 매개변수로 주어질 때, 1부터 number까지 369게임을 올바르게 진행했을 경우 박수를 총 몇 번 쳤는지를 return 하도록 solution함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.
#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 / 3) == 0)
count++;
current /= 10;
}
}
return count;
}
int main() {
int number = 40;
int ret = solution(number);
printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}
예시
number | 3,6,9 | return |
40 | 3, 6, 9, 13, 16, 19, 23, 26, 29, 30, 31, 32, 33(2번), 34, 35, 36(2번), 37, 38, 39(2번) | 22 |
코드설명
단계 | 과정 |
main | solution함수를 호출하고 매개변수 number(40)을 전달한다. |
solution | 박수를 친 횟수를 저장할 변수 count를 정의한다. |
solution - for문 | 1부터 40까지 i를 증가시킨다. 3,6,9를 판단할 변수 current를 선언하고, i값을 넣는다. |
solution - for - while | current/3을 계산하여 일의자리가 3의 배수인지를 판별하여 count++한다. current/=10 으로 current의 십의자리만 남긴다. 이때 current가 0일경우(i가 10보다 작은 경우) while를 빠져나와 i++가 진행된다. current가 0이 아닐 경우(i가 10보다 큰 경우) current/3으로 십의자리가 3의 배수인지를 판별하여 count++한다. i값에 따라 반복해서 각 자리수가 3의 배수인지를 판별한 후, while를 빠져나온다. |
solution / main | 모든 계산이 종료된 후, main함수에 count를 반환하며 프로그램이 종료된다. |
'[코테] > [GroomEdu]' 카테고리의 다른 글
[COS PRO 2급] 7번_영어 수강 대상자 수 구하기 (C/C++) (0) | 2021.05.06 |
---|---|
[COS PRO 2급] 5번_배열의 순서 뒤집기 (C/C++) (0) | 2021.05.05 |
[COS PRO 2급] 4번_등장하는 가장 많은 수와 적은수 구하기 (C/C++) (0) | 2021.05.03 |
[COS PRO 2급] 3번_시작 날짜와 끝 날짜의 사이 구하기 (C/C++) (0) | 2021.05.03 |
[COS PRO 2급] 2번_백화점 등급별 할인적용 (C/C++) (0) | 2021.05.02 |
댓글
공지사항
최근에 올라온 글
TAG
- groomedu
- 배열활용문제
- 구름 기출문제
- C
- lv1
- 1급
- c언어
- C++
- cospro기출문제
- YBM
- cospro기출
- Java
- CosPro
- 구름에듀
- 연습문제
- 자바
- groom
- COSPRO 2급
- 프로그래머스
- Cos Pro
- lv2
- 코딩테스트
- 구름에듀 기출문제
- c언어 기출문제
- 기출문제
- programmers
- 코스프로
- 배열
- 알고리즘
- YBM기출
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함