728x90
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) throws IOException {
// 두번째 풀이
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
// 정수 N개
int n = Integer.parseInt(st.nextToken());
// 기준 X
int x = Integer.parseInt(st.nextToken());
// 스트링토크나이저 초기화 후 " "기준으로 입력받기
st = new StringTokenizer(br.readLine(), " ");
// 출력값 담을 스트링빌더 생성
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
// st안의 요소 하나씩 int로 가져오기
int num = Integer.parseInt(st.nextToken());
// 판별
if (num < x) {
sb.append(num).append(" ");
}
}
System.out.print(sb);
}
}
import java.io.*;
import java.util.*;
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());
String str = br.readLine();
String[] strArr = str.split(" ");
int[] intArr = new int[strArr.length];
for (int i = 0; i < strArr.length; i++) {
intArr[i] = Integer.parseInt(strArr[i]);
}
for (int i = 0; i < n; i++) {
if (intArr[i] < x) {
sb.append(intArr[i]).append(" ");
}
}
System.out.print(sb);
}
}
n과 x는 int로 받아주고
나머지는 문자열로 받아 배열로 변경
int 배열이나 int로 바로 바꾸는 방법으로 하고 싶었는데 아쉽다.
int 배열 돌면서 x보다 작은 수인지 작다면 Builder에 넣어서 출력.
두번째로 푼 방식도 비슷한데 배열로 바꾸지 않고 for문 안에서 하나씩 int로 바꿔 확인했다.두번째 방식이 길이도 줄었고 시간도 단축됨.
한가지 아쉬운건 for문을 돌면서 맞다면 그 요소와 " "공백을 더하는 것인데 그렇게 되면
마지막 요소에도 공백이 붙게 되는 점이 좀 아쉽다.
백준에서도 통과되는걸 보니 눈에 보이는 값만 비슷하면 되는 것 같다.
728x90
'✍ Baekjoon' 카테고리의 다른 글
[백준/JAVA] (CLASS1) 10998번 A×B (0) | 2022.06.08 |
---|---|
[백준/JAVA] (CLASS1) 10950번 A+B - 3 (0) | 2022.06.08 |
[백준/JAVA] (CLASS1) 10869번 사칙연산 (0) | 2022.06.08 |
[백준/JAVA] (CLASS1) 10172번 개 (0) | 2022.06.07 |
[백준/JAVA] (CLASS1) 10171번 고양이 (0) | 2022.06.07 |