CodingTest/백준
[백준] 10871번: X보다 작은 수 - Java
서교동김계란
2024. 5. 7. 15:06
728x90
https://www.acmicpc.net/problem/10871
- 문제

단계별로 풀어보기 4단계에 들어있는 문제입니다.
- 풀이
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));
StringBuilder sb = new StringBuilder();
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken()); // 배열의 크기
int x = Integer.parseInt(st.nextToken()); // 비교할 값
int[] a = new int[n];
st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
a[i] = Integer.parseInt(st.nextToken());// 배열 크기만큼 인데스에 요소 추가
if (a[i] < x) { // x보다 작은 수 검열
sb.append(a[i]).append(' '); // 작으면 인덱스에 추가
}
}
System.out.println(sb);
}
}
BufferedReader로 입력받아 StringTokenizer로 문자열을 분리한다.
처음에 for문 위에있는 StringTokenizer를 안 써서 오류가 나는데 왜 그런지 한참을 고민했다.
결과적으로 토큰은 재사용이 불가능 하다 였는데 정확히 이해하진 못했으나
Enter키를 입력할 때마다 인스턴스를 해주어야한다는건 알았다.
좀더 공부해서 정확히 이해를 해야겠다...