[백준] 10871. X보다 작은 수(feat. Javascript / node.js) 알고리즘

준리·2022년 5월 17일
0

자료구조알고리즘

목록 보기
28/38
post-thumbnail
post-custom-banner

반복문 단계

: X보다 작은 수[10871]

정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.

예제 입력

첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)

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

10 5
1 10 4 9 2 3 8 5 7 6

예제 출력

X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.

1 4 2 3

제출


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

const input = require("fs").readFileSync("/dev/stdin").toString().split("\n");

const [a, b] = input[0].split(" ");
const arr = input[1].split(" ");

let answer = "";

for (i = 0; i <= a; i++) {
    if (b > +arr[i]) {
        answer += arr[i] + " ";
    }
}

console.log(answer);

무엇을 해결해야 하는가?

a개의 숫자 중에서 b보다 작은 정수를 뽑아내는 문제
항상 input을 어떻게 처리해할지가 고민이었다.

이번에는 "\n" 단위로 split()하고
첫 줄의 input을 비구조할당해주고 두 번째 줄의 input을 리스트로 만들어주었다.

반복문을 a 번 만큼 돌리고 조건문을 써서 b 보다 작은 arr[i]를 찾아 answer 변수에 넣고 출력했다.

숏코딩

let p = i[0].split(" ").map(Number)[1];
let a = i[1].split(" ").filter((v) => v < p);
console.log(...a);

대부분 숏코딩은 filter로 뽑아내더라

profile
트렌디 풀스택 개발자
post-custom-banner

0개의 댓글