englishmath 2022. 2. 25. 12:49

문제 : https://www.acmicpc.net/problem/10871 (백준 온라인 저지)

성공한 코드

여러 줄 입력받는 코드는 10950번 문제에서 설명하였으므로 생략하겠습니다.

 

let [N, X] = stdinline[0].split(" ").map(input => { return parseInt(input);});

 

첫 번째 줄의 인자를 N과 X에 저장합니다. 이 부분은 앞에서 설명드렸으니 깊게 설명하진 않겠습니다.

 

let arrA = stdinline[1].split(" ").map(input => { return parseInt(input);});

 

두 번째 줄의 인자들을 공백을 기준으로 나누어 배열에 저장하였습니다. 즉 arrA는 수열 A입니다.

 

let stdoutArr = [];

 

console.log 사용을 피하기 위해 출력에 사용할 버퍼를 초기화합니다.


for(let i in arrA){
        if(arrA[i] < X)
            stdoutArr.push(`${arrA[i]} `);
}

수열 A의 값을 하나씩 검사하여 값이 X보다 작으면 출력 버퍼에 값과 공백을 삽입합니다.

 

stdout.write(stdoutArr.join("").trimEnd());

 

모든 검사를 마쳤으면 출력 버퍼를 문자열로 변환한 후 마지막 요소에 삽입되었던 공백을 제거하여 표준 출력 스트림에 작성합니다.

 

이상으로 10871번 문제 풀이를 마치겠습니다.