Progamming/BAEK JOON > 백준의 알고리즘

[백준] 10871번 : X보다 작은 수 - JAVA 배열

코딩밤 2023. 3. 7. 14:20
300x250

https://www.acmicpc.net/problem/10871

 

10871번: X보다 작은 수

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

www.acmicpc.net

 

 

문제

백준 알고리즘 10871번 문제 이미지

분석

입력 : 첫째 줄에 N과 X가 주어짐. 둘째 줄에 수열을 이루는 A가 있음.

출력 : A에서 X보다 작은 수를 입력받은 순서대로 공백(띄어쓰기)으로 구분해 출력한다.

 

풀이
import java.io.*;
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형으로 형변환
        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());	// 배열에 수열 A 값을 담아줌
        }
        for(int i = 0; i < arr.length; i++) {
            if(arr[i] < X){								// 배열에 있는 수열과 X 값 비교
                bw.write(arr[i] + " ");					// X보다 작은 값 출력
            }
        }
        br.close();
        bw.flush();
        bw.close();
    }
}

 

BufferedReader 를 이용해 풀어준 문제이다.

배열을 이용해 풀어 주었다.

 

 

풀이
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();
        int[] arr = new int[N];

        for(int i = 0; i < arr.length; i++){
            arr[i] = sc.nextInt();
        }
        for(int i = 0; i < arr.length; i++){
            if(arr[i] < X){
                System.out.print(arr[i] + " ");
            }
        }
    }
}

Scanner 를 이용해 풀어준 문제이다.

arr[i] = sc.nextInt(); 로 배열에 수열 A 값들을 담고, 다시 N의 길이만큼 반복문을 돌려

배열 안에 있는 수열 값들을 X와 대조해서 작은 값들을 찾아내는 방법이다.

 

Buffered와 Scanner의 차이가 궁금하시면 들어가보세요

2023.02.16 - [knowledge base/BAEK JOON > 백준의 알고리즘] - [백준] 15552번 : 빠른 A+B - JAVA, BufferedReader, BufferedWriter

 

[백준] 15552번 : 빠른 A+B - JAVA, BufferedReader, BufferedWriter

https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmic

codingnight.tistory.com

 

 

 

300x250