for문과 if문으로 간단히 풀 수 있는 문제이다.
배열 카테고리라서 배열을 사용하도록 유도된 것 같지만
배열을 사용할 수도 있고 사용하지 않을 수도 있다.
아래에 성능 비교도 있다.
1. 배열 사용 + StringBuilder
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());
StringBuilder sb = new StringBuilder();
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());
if(arr[i] < X)
sb.append(arr[i]).append(" ");
}
System.out.println(sb);
br.close();
}
}
2. 배열 없이 + StringBuilder
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());
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);
br.close();
}
}
이렇게 하면 좀 더 간단한듯 하다.
3. 성능 비교
비슷하당
'Baekjoon' 카테고리의 다른 글
[Java/Algorithm] 백준 10818번: 최소, 최대 구하기 (배열o, 배열x) (0) | 2023.11.12 |
---|---|
[Java/Algorithm] 백준-10951 EOF 사용하기 + 성능비교 (1) | 2023.11.11 |
[Java/Algorithm] Java11에 추가된 String 메소드 repeat()로 코드 단축하기 (0) | 2023.11.10 |
[Java/Algorithm] BufferedWriter vs. StringBuilder 속도차이! (0) | 2023.11.10 |
[Java/Algorithm] BufferedReader vs. Scanner 분명한 속도 차이! (1) | 2023.11.09 |