알고리즘/백준

[백준] 10871 - X보다 작은 수

leegeonwoo 2023. 10. 24. 22:36

 

문제

이미지 클릭시 해당문제로 이동됩니다.


 

 

 

접근방법 & 풀이

 

[백준] 10807 - 개수 세기

• 문제 배열을 이용하여 해당 배열에 값을 넣어 특정 값이 몇 개인지 개수를 출력하는 프로그램이다. • 풀이 입력 - 배열에 들어갈 숫자의 개수인 N - 배열의 인덱스에 들어갈 값 - 개수를 알기

lee-dev-log.tistory.com

이전 문제인 개수 세기와 매우 유사한 문제이지만 X값과 비교하여 작을 때의 값을 출력하는 문제이다.

 

이전 문제에서는 count변수에 요구되는 값과 일치하는 값만큼 count++을 해주는 문제였지만

이번 문제는 X보다 작은 값을 바로 출력하는 문제다.

 for(int i=0; i<arr.length; i++) {
    	arr[i] = Integer.parseInt(st.nextToken());
    	if(arr[i] < X) {
    		bw.write(arr[i] + " ");
    	}
    }

for문안에 if문을 넣어 bw에 X보다 작은 값을 저장하고 반복문을 나와 출력을 해주면 되는 문제이다.

 

 


 

 

코드

 

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

public class Main {
    public static void main(String[] args) throws IOException{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    
    StringTokenizer st = new StringTokenizer(br.readLine(), " ");
    int N = Integer.parseInt(st.nextToken());
    int X = Integer.parseInt(st.nextToken());
    
    int[] arr = new int[N];
    st = new StringTokenizer(br.readLine()," ");
    for(int i=0; i<arr.length; i++) {
    	arr[i] = Integer.parseInt(st.nextToken());
    	if(arr[i] < X) {
    		bw.write(arr[i] + " ");
    	}
    }
    bw.flush();
    bw.close();
}
}

 

 

정리

이번 포스팅은 Buffered를 이용하여 입출력을 구현하였지만, 당장은 문제에서 속도를 요구하지도 않고 알고리즘을 구현하는데에 집중하는게 맞다고 생각해 Scanner와 println()메서드를 이용하여 포스팅할 예정이다.


 

728x90