곽로그

[백준 10871] X보다 작은 수 본문

알고리즘/백준

[백준 10871] X보다 작은 수

일도이동 2019. 4. 17. 13:02
반응형

 

 

10871번: X보다 작은 수

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

www.acmicpc.net

접근법1

수열, 즉 수의 배열이니 배열을 선언하고 배열에 수열을 입력받는다. 그런 다음 그 배열을 순회하면서 X보다 작은 수를 배열에 저장하고 순회가 끝나면 X보다 작은 수를 출력한다. 

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		//정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
		Scanner in=new Scanner(System.in);
		int N=in.nextInt();
		int X=in.nextInt();
		
		//크기가 N인 배열을 선언해서 수열을 배열에 입력받는다
		int[] numArray=new int[N];
		for(int i=0;i<N;i++) {
			numArray[i]=in.nextInt();
		}
		
		//numArray를 순회하며 X보다 작은 수를 lessThanX배열에 넣는다
		int[] lessThanX=new int[N];
		int size=0;
		for(int i=0;i<numArray.length;i++) {
			if(numArray[i]<X) {
				lessThanX[size++]=numArray[i];
			}
		}
		
		//lessThanX를 출력한다
		for(int i=0;i<size;i++) {
			System.out.print(lessThanX[i]+" ");
		}
		
			
	}
}
 	

 

접근법2

 X보다 작은 수를 저장하기 위한 배열을 따로 선언하지 않아도 된다. X보다 작은 수가 있다면 바로 출력하면 된다. 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int N=in.nextInt();// 수열 A의 길이
		int X=in.nextInt();// 비교하는 값(배열A에서 X보다 작은 수 출력)
		int[] A=new int[N]; //길이가 N인 수열A 생성
		
		for(int i=0;i<A.length;i++) { //수열의 값 입력받기
			A[i]=in.nextInt();
		}
		
		for(int i=0;i<A.length;i++) {
			if(A[i]<X)
				System.out.print(A[i]+" ");
		}
		
	}
}
반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준 4344] 평균은 넘겠지  (0) 2019.04.17
[백준 1546] 평균  (0) 2019.04.17
[백준 10817] 세 수  (0) 2019.04.16
[백준 11721] 열 개씩 끊어 출력하기  (0) 2019.04.16
[백준 11720] 숫자의 합  (0) 2019.04.15
Comments