본문 바로가기
코딩테스트

백준 :: 10871번 X보다 작은 수 - 자바(JAVA)

by udeserveit1 2024. 8. 6.

 

 

 

 

 

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        StringTokenizer firstLine = new StringTokenizer(reader.readLine());
        int N = Integer.parseInt(firstLine.nextToken());
        int X = Integer.parseInt(firstLine.nextToken());

        StringTokenizer tokenizer = new StringTokenizer(reader.readLine());
        StringBuilder result = new StringBuilder();


        for (int i = 0; i < N; i++) {
            int number = Integer.parseInt(tokenizer.nextToken());
            if (number < X) {
                result.append(number).append(" ");
            }
        }
          System.out.println(result.toString().trim());
    }

    }

 


코드설명

1. 'BufferedReader' 초기화

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

BufferedReader와 InputStreamReader를 사용하여 콘솔에서 입력을 받습니다.

 

2. 첫 번째 줄에서 N과 X 입력 받기

StringTokenizer firstLine = new StringTokenizer(reader.readLine());
int N = Integer.parseInt(firstLine.nextToken());
int X = Integer.parseInt(firstLine.nextToken());

 

 

  • readLine()을 호출하여 첫 번째 줄의 입력을 읽어옵니다.
  • StringTokenizer를 사용하여 공백을 기준으로 입력을 분리합니다.
  • nextToken()을 호출하여 각각의 토큰(문자열)을 int로 변환하여 N과 X 변수에 저장합니다.

3. 두 번째 줄에서 수열 A 입력 받기

 

StringTokenizer tokenizer = new StringTokenizer(reader.readLine());
StringBuilder result = new StringBuilder(); 

 

  • 두 번째 줄의 입력을 읽어오기 위해 다시 readLine()을 호출하고, StringTokenizer를 사용하여 공백을 기준으로 수열 A의 요소들을 분리합니다.
  • 결과를 저장할 StringBuilder 객체를 생성합니다.

4. 수열 A의 각 요소를 검사하여 X보다 작은 경우 결과에 추가

 

for (int i = 0; i < N; i++) {
    int number = Integer.parseInt(tokenizer.nextToken());
    if (number < X) {
        result.append(number).append(" ");
    }
}

 

  • 반복문을 사용하여 수열 A의 각 요소를 순회합니다.
  • nextToken()을 호출하여 각 요소를 int로 변환하여 number 변수에 저장합니다.
  • number가 X보다 작은 경우, StringBuilder에 추가하고 공백으로 구분합니다.

5. 결과 출력

  • StringBuilder에 저장된 결과 문자열을 toString() 메서드를 사용하여 변환합니다.
  • trim() 메서드를 사용하여 문자열의 앞뒤에 있는 불필요한 공백을 제거한 후 출력합니다.

 

System.out.println(result.toString().trim());

 

 

 

 

 

 

 

 

 

'코딩테스트' 카테고리의 다른 글

[백준] 11021, 11022번 :: A+B - 7, A+B - 8 - 자바(JAVA)  (0) 2024.07.26