Difficulty 2
[문제]
[코드 및 결과]
#include <stdio.h>
int main(int argc, char** argv) {
int N, num, check;
scanf("%d", &N);
for (int i = 1; i <= N; i++) {
num = i;
check = 0;
while (num) {
if (num % 10 == 3 || num % 10 == 6 || num % 10 == 9) {
check = 1;
printf("-");
}
num /= 10;
}
if (check == 0) printf("%d ", i);
else printf(" ");
}
printf("\n");
return 0;
}
[설명]
입력 받을 숫자 N, 작업을 할 숫자 num, 3,6,9가 있는지 없는지 표시를 할 check를 정수로 선언한다.
입력받은 N을 num에 저장하고 check는 0으로 초기화해준다.
while문을 써서 num을 10으로 나눈 나머지가 3, 6, 9인지 확인을 하고 맞을 시 check값을 1로 주고 -을 출력한 뒤 num에는 num을 10으로 나눈 몫을 저장해준다.
이런식으로 해서 check가 0인 경우는 숫자 그대로를 출력하도록 하고 아니면 공백을 출력해서 원하는 실행 결과가 나오도록 조정해준다.
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
'C > SWEA' 카테고리의 다른 글
[SWEA] #1959. 두 개의 숫자열 (0) | 2021.11.28 |
---|---|
[SWEA] #1946. 간단한 압축 풀기 (0) | 2021.11.19 |
[SWEA] #1984. 중간 평균값 구하기 (0) | 2021.11.14 |
[SWEA] #2056. 연월일 달력 (0) | 2021.11.14 |
[SWEA] #1970. 쉬운 거스름돈 (0) | 2021.11.06 |
댓글