본문 바로가기

백준 문제 풀이/c언어

백준 10871 C언어 문제 풀이 - X보다 작은 수

728x90

문제 링크 https://www.acmicpc.net/problem/10871

문제 이해

문제 링크에 들어가면 문제의 설명과 예시 입출력이 나와 있습니다. 이 문제에서는 두 가지의 입력값이 주어지는데, 첫 번째 입력값은 수열 A의 길이(N)이며, 두 번째 입력값은 수열 A입니다. 그리고 마지막으로, 정수 X가 주어집니다. 이때, 수열 A에서 X보다 작은 수를 찾아 그 수를 모두 출력하는 문제입니다.

 문제 해결 방법

이 문제를 해결하기 위해서는 입력값으로 주어진 수열 A를 모두 읽어들인 다음, X보다 작은 수를 찾아 출력하면 됩니다. 
그리고 X보다 작은 수를 찾기 위해서는 수열 A의 원소들을 하나씩 읽어들이면서, 그 값이 X보다 작은지 비교하면 됩니다. 그리고 만약 그 값이 X보다 작다면, 그 값을 출력하면 됩니다. 이렇게 하나씩 읽어 들인 다음, X보다 작은 값들을 찾아 출력하는 과정을 반복하면 됩니다.

 문제 해결 과정

이제 실제로 C언어로 문제를 해결해보겠습니다.

#include <stdio.h>

int main() {
    int N, X, A;
    scanf("%d %d", &N, &X); // N과 X를 읽어들임
    for(int i=0; i<N; i++) {
        scanf("%d", &A); // 수열 A의 값 하나를 읽어들임
        if(A < X) printf("%d ", A); // X보다 작은 수를 찾아 출력
    }
    return 0;
}



우선, `scanf()` 함수를 이용하여 N과 X를 읽어 들입니다. 그리고 `for`문을 이용하여 N번 반복하면서 수열 A의 값 하나씩을 읽어 들입니다. 이때, 읽어 들인 값이 X보다 작으면 그 값을 출력하게 됩니다.

위 코드를 컴파일하고 실행하면, 입력값으로 주어진 수열 A에서 X보다 작은 수를 찾아 출력할 수 있습니다.

 

10871번: X보다 작은 수

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

www.acmicpc.net

728x90