본문 바로가기

코딩/백준 BOJ

[백준/C언어] 10871번 - X보다 작은 수

백준 웹사이트 "10871번 - X보다 작은 수" 문제풀이입니다.

언어는 C언어입니다. (제출 언어: C99)

 


문제

 

10871번: X보다 작은 수

첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.

www.acmicpc.net


소스 코드

#include <stdio.h>

int main(void){
    int N, X;
    scanf("%d %d", &N, &X);
    
    for(int i=0; i<N; i++){
        int num;
        scanf("%d", &num);

        if(num<X)
            printf("%d ", num);
    }
}

문제 풀이

  입력 스트림과 출력 스트림은 별개이므로, 수열 A의 숫자 하나하나가 입력될 때마다 정수 X와 비교하여 X보다 작으면 출력되게끔 코드를 짜면 됩니다. 이 사실을 간과하고 크기 N의 수열 A를 모두 입력받은 후에 하나씩 비교하는 코드를 짜면, 수열 A를 저장할 배열을 선언한 후 그 배열을 계속해서 참조하는 번거러운 작업을 진행해야 합니다. 이 문제를 훨씬 편하게 짜는 방법은 수열 A를 이루는 정수가 하나씩 입력될 때마다 X와 비교하여 더 작으면 출력하는 것입니다.

반응형