반응형
정답
//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)
마이너스 기호로 나눠서 배열에 저장하고 각 배열마다 값을 더하고 빼주면 된다.
마이너스 기호가 없으면 다 더하면 된다.
반응형
'Develop > 백준 코딩테스트' 카테고리의 다른 글
백준 코딩테스트 2217 로프 자바스크립트 node.js (0) | 2022.07.04 |
---|---|
백준 코딩테스트 5585 거스름돈 자바스크립트 node.js (0) | 2022.07.04 |
백준 코딩테스트 1026 보물 자바스크립트 node.js (0) | 2022.07.01 |
백준 코딩테스트 회의실배정 1931 자바스크립트 node.js (0) | 2022.06.30 |
백준 코딩테스트 11047 동전 자바스크립트 node.js (0) | 2022.06.29 |