자바스크립트에서 두 배열의 값이 서로 같은지를 확인하려고 === 를 사용하면 참조가 같은지를 파악하므로
서로 다른 배열은 다른 객체이므로 무조건 false 가 나와 값의 비교를 파악하는 방법으로 옳지 않다
for 문으로 요소마다 순회하며 값을 비교할 수도 있지만
JSON.stringify(배열명) 를 사용해서 문자열화 시켜서 같은지를 비교하는 방법이 편해보인다
문자열을 정렬할 경우 오름차순은 sort() 해주고 내림차순은 오름차순을 reverse() 한 것으로 표현하였다
자바스크립트는 이런데선 참 예민하다
https://www.acmicpc.net/problem/11536
const { json } = require("stream/consumers");
let input = [];
const readline = require("readline").createInterface({
input: process.stdin,
output: process.stdout,
});
readline.on("line", (line) => {
input.push(line);
});
readline.on("close", () => {
solution(input);
process.exit();
});
const solution = (inp) => {
inp.shift();
let inc = Array.from(inp);
inc.sort();
let dec = Array.from(inc);
dec.reverse();
inc = JSON.stringify(inc);
dec = JSON.stringify(dec);
inp = JSON.stringify(inp);
if (inp === inc) {
console.log("INCREASING");
} else if (inp === dec) {
console.log("DECREASING");
} else {
console.log("NEITHER");
}
};
댓글