프로그래밍/알고리즘 풀이
[node.js] 잃어버린 괄호 (백준 1541번)
카카수(kakasoo)
2021. 3. 30. 09:32
반응형
그렇게 어려운 문제는 아니었다. 그냥 마이너스를 할 때, 최대한 크게 마이너스를 해주면 된다.
그래서 마이너스가 나오면 마이너스 뒤로 있는 모든 플러스를 우선시해줘서 빼야할 값을 크게 바꿔주면 된다.
그래서 -를 기준으로 문자열을 split 해주고, 각 요소들을 전부 더 해준다.
예를 들어 43 - 43 + 45 - 45가 라는 문자열이 있으면 ( 띄어쓰기는 원래 없어야 한다. )
43,48,45 라는 숫자 배열로 바꿔주고, 앞에서부터 차례대로 빼주면 된다.
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", (line) => {
main(line);
rl.close();
}).on("close", () => {
process.exit();
});
/**
*
* @param {string} line
*/
const main = (line) => {
const minuses = line.split("-").map((el) =>
el
.split("+")
.map(Number)
.reduce((acc, cur) => acc + cur)
);
console.log(minuses.reduce((acc, cur) => (acc -= cur)));
};
반응형