const fs = require("fs"); //파일받기위해 필요
const localFile = fs.existsSync("./input.txt"); // 내가 알고리즘 풀려는 폴더에 './input.txt'의 유무를 참,거짓으로 변수에 넣어라
const filePath = () => {
// 참이면 내 input파일을 열고 그외는 백준의 알고리즘에서 주는 입력값을 받겠다.
if (localFile) {
return "./input.txt";
}
return "/dev/stdin";
};
const input = fs.readFileSync(filePath()).toString().trim().split("\n");
const x = Number(input[0].split(' ')[1]) // 판펼하는 기준인 입력받은 숫자를 저장했다
const numbers = input[1].split(' ').map(el => Number(el)); // 입력받은 숫자들을 배열로 저장하고 각 요소들를 Number메서드로 맵핑하였다
const checkedNumbers = numbers.filter(el => el < x); // 숫자들을 조건에 맞게 필터링하였다
let result = '';
checkedNumbers.forEach((el) => {result = result+el+' '}) // 다시 문자열로
console.log(result)
제공되는 입력값중 숫자들의length 도 사용했다.
arr.length === num[0] 이라 굳이 나는 사용하지 않았다
for if문으로도 나보다 훨씬 직관적이고 깔끔하게 작성했다.
괜히 어렵게 생각한 것 같다.
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(' '));