Baekjoon
[Java/Algorithm] 백준 10871번: X보다 작은 수
dev_haha
2023. 11. 12. 21:57
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. 성능 비교
비슷하당