출처
백준 온라인 저지
문제
정수 N개로 이루어진 정수 X가 주어진다. 이때, X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
첫째 줄에 N과 X가 주어진다.
둘째 줄에 정수 N개가 주어진다.
풀이
첫째 줄에는 N(정수 개수), X(max 값), 둘째 줄에는 정수 N개가 있습니다.
이를 split 메서드를 이용하여 1차적으로 줄을 기준으로 나누고 공백을 기준으로 다시 한번 나눠줍니다.
for 문을 돌려 max 값과 해당 정수 값을 비교하여 max 값이 클 경우 출력 배열에 넣어준 후 출력해줍니다.
코드
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let num = input[0].split(' ').map(x => Number(x));
let arr = input[1].split(' ').map(x => Number(x));
const answer = [];
for (let i = 0; i <= num[0]; i++) {
if (num[1] > arr[i]) {
answer.push(arr[i]);
}
}
console.log(answer.join(' '));
다른 방식
filter 메서드를 사용하여 max 값과 비교하는 방법을 사용해 봤습니다.
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let max = Number(input[0].split(' ')[1]);
let arr = input[1].split(' ').map(x => Number(x));
const answer = arr.filter(v => max > v);
console.log(answer.join(' '));