문제
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.

사용한 함수
중첩 if문 : absolutes의 리스트 순서와 signs의 순서를 같게 하기위해 사용하였다.
해결
function solution(absolutes, signs) {
var answer = 0;
len = absolutes.length
for (let i=0; i<len; i++)
if (absolutes[i]) {
if (signs[i] == true) {
answer += absolutes[i]
}else{
answer -= absolutes[i]
}
}
return answer;
}
해결 (다른사람의 풀이 참고)
function solution(absolutes, signs) {
return absolutes.reduce((acc, val, i) => acc + (val * (signs[i] ? 1 : -1)), 0);
}
사용한 함수: reduce()
해결(다른사람의 풀이 참고)
function solution(absolutes, signs) {
let answer = 0;
absolutes.forEach((v, i) => {
if (signs[i]) {
answer += v;
} else {
answer -= v;
}
})
return answer;
}
사용한 함수: forEach()
해결(다른사람의 풀이 참고)
function solution(absolutes, signs) {
let answer = 0;
for (let i = 0; i < absolutes.length; i++) {
signs[i] ? answer += absolutes[i] : answer -= absolutes[i]
}
return answer;
}
처음 보는 표현방식이라 가져왔다.
'개발 공부 > Algorithm' 카테고리의 다른 글
[프로그래머스/Javascript] 핸드폰 번호 가리기 (0) | 2022.03.11 |
---|---|
[프로그래머스/Javascript] 평균 구하기 (0) | 2022.03.11 |
[프로그래머스/Javascript] 없는 숫자 더하기 (0) | 2022.03.11 |
[프로그래머스/Javascript] 문자열을 정수로 바꾸기 (0) | 2022.03.11 |
[프로그래머스/Javascript] 두 정수 사이의 합 (0) | 2022.03.11 |