본문 바로가기
알고리즘 문제풀이/백준

백준 10871번 X보다 작은 수 정답 코드

by 차누감 2024. 10. 13.
반응형

문제

정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)

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

출력

X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.


1. Python

# 첫 번째 줄에서 N과 X 입력받기
N, X = map(int, input().split())

# 두 번째 줄에서 N개의 정수 입력받기
numbers = list(map(int, input().split()))

# X보다 작은 수들만 출력
result = [str(num) for num in numbers if num < X]
print(" ".join(result))​

2. Java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        // 첫 번째 줄에서 N과 X 입력받기
        int N = sc.nextInt();
        int X = sc.nextInt();

        // 두 번째 줄에서 N개의 정수 입력받기
        for (int i = 0; i < N; i++) {
            int num = sc.nextInt();
            
            // X보다 작은 수 출력
            if (num < X) {
                System.out.print(num + " ");
            }
        }

        sc.close();
    }
}

3. C++

#include <iostream>
using namespace std;

int main() {
    int N, X;
    
    // 첫 번째 줄에서 N과 X 입력받기
    cin >> N >> X;
    
    // 두 번째 줄에서 N개의 정수 입력받기
    for (int i = 0; i < N; i++) {
        int num;
        cin >> num;
        
        // X보다 작은 수 출력
        if (num < X) {
            cout << num << " ";
        }
    }

    return 0;
}​

4. JavaScript

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

const input = [];
rl.on('line', (line) => {
    input.push(line);
}).on('close', () => {
    // 첫 번째 줄에서 N과 X를 분리
    const [N, X] = input[0].split(' ').map(Number);
    
    // 두 번째 줄에서 N개의 정수를 분리
    const numbers = input[1].split(' ').map(Number);
    
    // X보다 작은 수만 출력
    const result = numbers.filter(num => num < X);
    console.log(result.join(' '));
});​
 

5. C

#include <stdio.h>

int main() {
    int N, X;
    
    // 첫 번째 줄에서 N과 X 입력받기
    scanf("%d %d", &N, &X);
    
    // 두 번째 줄에서 N개의 정수 입력받기
    for (int i = 0; i < N; i++) {
        int num;
        scanf("%d", &num);
        
        // X보다 작은 수 출력
        if (num < X) {
            printf("%d ", num);
        }
    }

    return 0;
}

 

반응형

댓글