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인 경우는 숫자 그대로를 출력하도록 하고 아니면 공백을 출력해서 원하는 실행 결과가 나오도록 조정해준다.
'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 |
댓글