Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

Hennie

[백준] 10871번 : X보다 작은 수 (JAVA) 본문

BaekJoon/03. for문

[백준] 10871번 : X보다 작은 수 (JAVA)

헨니 2021. 4. 15. 00:20

 

QUESTION

www.acmicpc.net/problem/10871

 

10871번: X보다 작은 수

첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.

www.acmicpc.net

 

ANSWER

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		StringTokenizer st, st2;
		st = new StringTokenizer(br.readLine());
		st2 = new StringTokenizer(br.readLine());
		int n = Integer.parseInt(st.nextToken());
		int x = Integer.parseInt(st.nextToken());
		int a[] = new int[n];
		for(int i=0; i<n; i++) {
			a[i] = Integer.parseInt(st2.nextToken()); 
			if(a[i] < x) {
				sb.append(a[i]).append(" ");
			}
		}
		br.close();
		System.out.println(sb);
	}
}

 

RESULT

 

MEMO

그냥 Scanner로 입력 받았다면 편했겠지만 BufferedReader를 써서 하려고 했기 때문에

첫 줄에 2가지 수를 받고, 둘째 줄에 또 여러 수를 입력 받는 경우 StringTokenizer 사용하는 것에 고민이 필요했다..ㅠ

결과적으로 StringTokenizer를 2개를 만들어서 첫 줄과 둘째 줄 각각 다른 st를 사용하니 됐는데 더 좋은 방법이 있을까?