매우 간단한 문제이지만 배열과 BufferedReader의 사용 여부에 따른 성능 차이가 궁금하여 비교해 보았다
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int X = sc.nextInt();
StringBuilder sb = new StringBuilder();
for(int i = 0 ; i < N ; i++) {
int value = sc.nextInt();
if(value < X) {
sb.append(value+" ");
}
}
System.out.println(sb);
}
}

String
StringBuffer
StringBuilder
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int X = sc.nextInt();
int arr[] = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = sc.nextInt();
}
for (int i = 0; i < N; i++) {
if (arr[i] < X) {
System.out.print(arr[i] + " ");
}
}
}
}

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
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(), " ");
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(st.nextToken());
int X = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine(), " ");
for (int i = 0; i < N; i++) {
int value = Integer.parseInt(st.nextToken());
if (value < X)
sb.append(value).append(' ');
}
System.out.println(sb);
}
}

import java.io.*;
import java.util.StringTokenizer;
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 N = Integer.parseInt(st.nextToken());
int X = Integer.parseInt(st.nextToken());
int[] arr = new int[N];
st = new StringTokenizer(br.readLine()," ");
for(int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
for(int i = 0; i < arr.length; i++) {
if(arr[i] < X){
System.out.print(arr[i] + " ");
}
}
br.close();
}
}
바보 같이 print를 안 쓰고 println을 써서 '출력 형식이 잘못되었습니다' 떴다ㅎ

Scanner + 배열 O < Scanner + 배열 X < BufferedReader + 배열 O < BufferedReader + 배열 X
1차원 배열에 속하는 문제임이 무색하게 배열을 쓰지 않을 때의 성능이 젤 좋다..