그냥 양수는 덧셈 , 음수는 뺄셈이라는 생각을 못하고 배열를 다시 만들어서 다시 덧셈을 할려고 했었다. 그러니깐 무의미한 코드가 늘어나고 원래 생각 했던 것에서 벗어났었다. 심플하지도 못하고 클린하지 못하고 무엇보다 답이 아니라고 해서 해설를 찾아보고 다시 작성해 보왔고 내 생각보다 클린한 코딩에 놀랐었다.
const ab = [ 10, 10, 30, 6]
const ah = [ false , true , false , true ]
solution(ab,ah) // -24
function solution(absolutes, signs){
//answer는 비어 있는 변수이다.
let answer = 0
// forEach문은 요소 각각를 부여할수도 있고 i라는 index값도 부여할 수 있다.
absolutes.forEach((el , i) => {
// signs[i]값이 true이면
if(signs[i]){
// answer 값에 el 값을 더한다.
answer += el
// 그 외
}else{
// answer 값에 el 값을 뺀다.
answer -= el
}
});
// 외부에 변수 answer는 반복되지 않고 값을 축적된다.
return answer
}
// function solution(absolutes, signs) {
// let obj = []
// for(let i = 0 ; i < absolutes.length ; i++){
// if(signs[i] == false){
// obj.push(absolutes[i]*-1);
// }else{
// obj.push(absolutes[i])
// }
// console.log(obj);
// if(i == absolutes.slice(-1)[0]){
// let sum = 0;
// obj.forEach((item)=>{
// sum += item
// console.log(sum)
// })
// }
// }
// }
'개발일기 > 알고리즘' 카테고리의 다른 글
나누어 떨어지는 숫자 배열 (0) | 2021.11.08 |
---|---|
행렬의 덧셈 (0) | 2021.11.08 |
문자열 정수로 바꾸기 (0) | 2021.11.08 |
직사각형 별찍기 (0) | 2021.11.08 |
백준 [ node.js ] 10172번 문제 개 (0) | 2021.10.01 |