https://www.acmicpc.net/problem/10871
[문제]

[해설]
1. 문제 이해
이 문제는 정수 N개로 이루어진 수열 A가 주어지고, 기준값 X가 주어질 때
👉 수열 A에서 X보다 작은 값만 골라서 출력하는 문제이다.
출력 시 주의할 점은 다음과 같다.
- X보다 작은 값만 출력해야 한다.
- 입력된 순서를 유지해야 한다. (정렬 ❌)
- 각 숫자는 공백으로 구분하여 출력한다.
2. 핵심 아이디어
이 문제의 핵심은 필터링 + 순서 유지이다.
- N개의 숫자를 하나씩 입력받는다.
- 각 숫자 W에 대해 W < X 조건을 검사한다.
- 조건을 만족하는 경우에만 결과에 저장한다.
- 결과는 StringBuilder를 사용하여 문자열로 누적한다.
- 이때 숫자만 추가하면 붙어서 출력되므로 " "(공백)도 함께 추가해야 한다.
- 모든 입력 처리가 끝난 후 한 번에 출력한다.
👉 즉, 반복문을 통해 조건에 맞는 값만 골라서 이어붙인 후 출력하는 방식
[코드]
public class BeakJoon_10871 {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int X = sc.nextInt();
for (int i=0; i<N; i++) {
int W = sc.nextInt();
if (W < X) {
sb.append(W).append(" ");
}
}
System.out.print(sb.toString());
sc.close();
}
}'알고리즘 > 문제' 카테고리의 다른 글
| [백준] 5597번 문제: 과제 안 내신 분..? - JAVA (0) | 2026.03.19 |
|---|---|
| [백준] 10807번 문제: 개수 세기 - JAVA (0) | 2026.03.17 |
| [백준] 10872번 문제: 팩토리얼 - JAVA (0) | 2026.03.16 |
| [백준] 15649번: N과 M (1) - JAVA (0) | 2026.03.16 |
| [백준] 2566번 문제 - JAVA (0) | 2026.03.09 |