알고리즘
[백준] 10871번: X보다 작은 수 (java, python)
홍비
2022. 7. 14. 19:09
https://www.acmicpc.net/problem/10871
10871번: X보다 작은 수
첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.
www.acmicpc.net
🗒 풀이
java
1) Scanner 사용
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int X = sc.nextInt();
for (int i = 0; i < N; i++) {
int val = sc.nextInt();
if (val < X) {
System.out.print(val + " ");
}
}
}
}
받은 값들을 배열로 저장할 필요가 없다고 생각되어, 입력 받은 즉시 X의 값과 비교하여 작은 것들을 즉시 출력하도록 하였다.
2) BufferedReader 사용
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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(), " ");
st.nextToken();
int X = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine(), " ");
while (st.hasMoreTokens()) {
int val = Integer.parseInt(st.nextToken());
if (val < X) {
System.out.print(val + " ");
}
}
}
}
python
_, X = map(int, input().split())
arr = list(map(int, input().split()))
for a in arr:
if a < X:
print(a, end=' ')
N은 받기만 하고 변수에 저장할 필요가 없으므로 _(underscore)로 처리한다.
_(underscore)는 주로 특정값을 무시하기 위한 용도로 사용된다. 값이 필요하지 않거나, 사용되지 않는 값을 _ 에 할당하는 것을 의미한다.