[백준] - 단계별로 풀어보기(반복문) 10871

13832 단어 Java백준Java

백준 10871번

X보다 작은 수

문제 출처 https://www.acmicpc.net/problem/10871


내가 작성한 코드 - (1)

import java.io.IOException;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int x = sc.nextInt();
		int arr[]= new int[n]; 
		
		for(int i=0; i<n; i++) {
			arr[i] = sc.nextInt(); //데이터를 배열에 저장
		}
		
		for(int i=0; i<n; i++) {
			if(arr[i] < x) { //x값보다 작은 수일 경우
				System.out.print(arr[i] +" "); 출력
			}
		}
	}
}

내가 작성한 코드 - (2)

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 BufferedWraiter(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];
		
		StringTokenizer st2 = new StringTokenizer(br.readLine());
		for(int i=0; i<n; i++) {
			arr[i] = Integer.parseInt(st2.nextToken()); //배열에 저장
			if(arr[i] < x) {
				bw.write(Integer.toString(arr[i]) +" "); //배열 내용 출력하기 위해 toString 사용
			}
		}
		bw.flush();
		bw.close();
	}
}

BufferedReader / StringTokenizer / BufferedWriter 설명 참고

시간 차이

코드 작성(2) - 192ms 으로 더 빠른 것을 확인 할 수 있다.

좋은 웹페이지 즐겨찾기