Algorithm/Baekjoon(Java)

[백준/JAVA] 10871 : X보다 작은 수

비망노트 2022. 7. 11. 21:16
문제

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

입력

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

둘째 줄에 수열 A를 이루는 정수 N개가 주어진다.

주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.

 

출력

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

 

예제 입력 예제 출력
10 5
1 10 4 9 2 3 8 5 7 6
1 4 2 3

⭕ 풀이

import java.io.*;
import java.util.*;

public class Main{
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int a = Integer.parseInt(st.nextToken());
        int x = Integer.parseInt(st.nextToken());
        st = new StringTokenizer(br.readLine());

        StringBuilder sb = new StringBuilder();
        for(int i=0;i<a;i++){
            int num = Integer.parseInt(st.nextToken());
            if(x>num){
                sb.append(num).append(" ");
            }
        }
        System.out.print(sb);
    }
}

 

1. 수열a와 정수x를 입력받을 첫줄을 readLine으로 받고 StringTokenizer로 각각 10은 a에 5는 x에 할당

2. 수열의 각 요소가 있는 아랫줄을 readLine으로 받고 반복분안에서 StringTokenizer로 나누며 정수형으로변환

3. 값비교 후 정수x보다 작다면 sb에 append 하고 마지막에 한번에 sb출력

 

 

 

 

-출처

https://www.acmicpc.net/problem/10871