Develop/백준 코딩테스트
백준 코딩테스트 1541 잃어버린 괄호 자바스크립트 node.js
codeGray
2022. 7. 4. 00:09
반응형

정답
//let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
const input = require('fs').readFileSync('./input.txt').toString().trim().split('-');
solution(input);
function solution(input){
let result = 0;
let arr = [];
for(let i=0; i < input.length; i ++){
arr.push(input[i].split('+').map(i => +i).reduce((sum, val) => sum + val, 0));
}
if(arr.length === 1){
result = arr.reduce((sum, val)=> sum+val,0);
}else{
let first = arr[0];
for(let i=1; i < arr.length; i ++){
result = first - arr[i]
first = result;
}
}
console.log(result);
}
풀이
뺄셈을 제일 나중에 처리하면 가장 작은 수가 나온다.
예를들면 이런식 30 - (30 + 30 + 30) - (30 + 30)
마이너스 기호로 나눠서 배열에 저장하고 각 배열마다 값을 더하고 빼주면 된다.
마이너스 기호가 없으면 다 더하면 된다.
반응형