코딩테스트/백준
백준(10950)-node.js
정신이 많이없는 개발자
2022. 1. 7. 11:48
728x90
반응형
백준 A+B -3문제를 풀어보았다.
문제를 풀었던 생각에 대해서 먼저 공유해 하겠습니다.
문제를 보자마자 엥??? 그냥 간단한 합을 구하는 로직을 구현하면 되지않을까 생각했습니다.
var fs = require('fs'); var input = fs.readFileSync('/dev/stdin').toString().split('\n'); input = ['5','1 1','2 3','3 4','9 8','5 2']; const total = Number(input[0]);
내가 node에서 임의 숫자 값을 받아오면 input이라는 변수에 요렇게 담길 것이라고 먼저 상상했다.
이렇게 상상을 하는 결과는
//각 input[i]을 꺼내와서 number 처리를 해준다음에 합을 구하는 로직을 구현하면된다. 가 나의 문제를 푸는방식이었다. 그렇다면 어떻게 꺼내올것이냐
const change = input[1].split(' ');
const sum = change.reduce((a,c)=>{
return Number(a)+Number(c);
});
console.log(sum)
다들 이 코드를 보고 고민을 해보자. 결과 값이 무엇이 나올까? 숫자 2가 나오면된다. 그러면 이 로직이 위에 input 크기만큼 돌면 되지 않을까 생각을 했다.
for(let i=1; i<=total; i++){
const change = input[i].split(' ');
const sum = change.reduce((a,c)=>{
return Number(a)+Number(c);
});
console.log(sum)
}
위에 코드에 for문만 입히면 로직이 input[0] 만큼돌면서 문제를 해결해준다.
var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().split('\n');
const total = Number(input[0]);
//각 input[i]을 꺼내와서 number 처리를 해준다음에 합을 구하는 로직을 구현하면된다.
for(let i=1; i<=total; i++){
const change = input[i].split(' ');
const sum = change.reduce((a,c)=>{
return Number(a)+Number(c);
});
console.log(sum)
}
통과한 전체로직이다. 전체로직을 보면서 따라해 보는 것도 좋지만, 왜 문제를 어떻게 접근했는지 방식을 같이 공유하고 얻어가면 좋을 것 같다.
반응형