본문 바로가기
C/SWEA

[SWEA] #1926. 간단한 369게임

by 단월໒꒱ 2021. 11. 19.

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

 

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PTeo6AHUDFAUq&categoryId=AV5PTeo6AHUDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=2&pageSize=10&pageIndex=1 

 

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

댓글