[프로그래머스 level1] 음양 더하기
문제
https://programmers.co.kr/learn/courses/30/lessons/76501
문제 풀이
코드1
function solution(absolutes, signs) {
let answer=0;
for(let i=0; i<absolutes.length; i++){
if(signs[i]) answer+=absolutes[i];
else answer-=absolutes[i];
}
return answer;
}
코드2
배열을 더하는 문제에서는 Array.reduce 메소드를 활용하자! for문을 활용하는 것보다 훨씬 간단하게 끝낼 수 있다.
function solution(absolutes, signs) {
return absolutes.reduce((acc, v, i) =>acc + (v*(signs[i]? 1 : -1)), 0);
}
오류코드 고치기
오류코드는 다음과 같다.
function solution(absolutes, signs) {
return absolutes.reduce((acc, v, i) => {
acc + (v*(signs[i]? 1 : -1));
}, 0);
}
오류를 해결하면 다음과 같다.
function solution(absolutes, signs) {
return absolutes.reduce((acc, v, i) => {
return acc + (v*(signs[i]? 1 : -1));
}, 0);
}
콜백함수에서 {}
를 넣으면, 한줄이라도 반드시 return 해주기!
만약, 한줄이여서 중괄호를 생략한다면, 코드2처럼 return 생략 가능하다.
중괄호의 뜻은 코드가 한줄 이상이라는 뜻이기 때문에, 한줄 이상의 코드 중 무엇을 return해줄지를 지정해줘야한다. 한줄이라도 예외없음!
Author And Source
이 문제에 관하여([프로그래머스 level1] 음양 더하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rladpwl0512/음양-더하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)