[C언어 코드업 문제풀이] CodeUp 1261 : First Special Judge (Test)

코드업 1261번 First Special Judge (Test) 문제 풀이 해답입니다.

 

1. 문제 설명

 

10개의 수가 입력된다.

10개의 수 중 5의 배수를 하나만 출력한다.

만약 5의 배수가 없다면 0을 출력한다.

 

2. 입력

 

10개의 자연수가 입력된다

 

3. 출력

 

10개의 수 중 5의 배수가 있으면 그 중 하나만 출력하고, 없다면 0을 출력한다.

 

4. 입력 예시

 

1 2 3 4 5 6 7 8 9 10

 

5. 출력 예시

 

5

 

6. 문제 풀이

 

#include<stdio.h>
 
int main(){
    
    int a,b[10];
    
    for(int i = 0; i <= 9; i++){
        scanf("%d"&a);
        b[i] = a;
    }
    
    int flag = 0;
    for(int i = 0; i <= 9; i++){
        if(b[i]%5 == 0){
            printf("%d",b[i]);
            flag = 1;
            break;
        }
    }
    if(flag == 0){printf("0");}
    
    return 0;
}
 

 

먼저 입력조건인 : 10개의 자연수가 입력된다 를 구현해 줍니다.

 

    int a,b[10];

 

a와 배열b를 선언하여 a의 값을 배열b에 넣어 줍니다.

 

  for(int i = 0; i <= 9; i++){

        scanf("%d"&a);

        b[i] = a;

    }

 

10번 반복하는 for문을 통해 입력받은 a값은 b[0],b[1]...b[8],b[9]에 각각 저장됩니다.

 

다음으로 "10개의 수 중 5의 배수가 있으면 그 중 하나만 출력하고, 없다면 0을 출력한다. " 를 만족해야 합니다.

가장 처음의 5의 배수를 출력하고 코드는 종료되어야 하며, 없을 경우 0을 출력합니다.

 

먼저 int flag = 0; 를 선언하여 5의 배수가 있는지 없는지 표시를 합니다. 5의 배수가 있을경우 flag는 1이되며 여전히 0이라면 

5의 배수는 없다. 입니다.

 

    for(int i = 0; i <= 9; i++){

        if(b[i]%5 == 0){

            printf("%d",b[i]);

            flag = 1;

            break;

        }

    }

 

우리는 10번의 입력을 받았으므로 10번의 반복을 통해 5의 배수를 판별합니다.

if(b[i]%5 == 0)를 통해 5의 배수를 판별 할 수 있습니다. 5의 배수일경우 해당 배열b의 값을 출력하고 flag는 1로 바뀌어 5의 배수가 

있다는 것을 표시해줍니다. break; 문을 통해 for문을 중단하고 빠져나옵니다.

 

만약 10번 반복을 수행하였는데 5의 배수가 없다면 flag는 여전히 0 이므로

if(flag == 0){printf("0");}

을 통해 0을 출력하게 됩니다.

 

감사합니다.

 

댓글()