728x90
반응형
1. 내가 푼 풀이
function solution(absolutes, signs) {
let num_signs =[]; // true =1, false =-1
let cal =[] ; // 계산값
signs.forEach(x => {
if(x == true) {
num_signs.push(1);
}
else{
num_signs.push(-1);
}
});
for(let i =0; i< absolutes.length; i++){
cal.push(absolutes[i] * num_signs[i]) ;
}
return cal.reduce((a,c)=> a+c,0);
}
* true =1 / false = -1로 변경 > 각각의 배열 위치에 곱하기해서 절대값 구함 > reduce로 더하기
2. 다른 사람 풀이
function solution(absolutes, signs) {
return absolutes.reduce((acc, val, i) => acc + (val * (signs[i] ? 1 : -1)), 0);
}
2-1. 강의 풀이
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;
}
* (signs[i] === true) > answer += absolutes[i]
* (signs[i] === false) > answer -= absolutes[i]
[출처]
1. 프로그래머스
반응형
'코딩테스트' 카테고리의 다른 글
[JS 입문 3주차 과제 | JavaScript ] 01. 나이든 유저 & 02. 어떤 매치가 성사될까? (0) | 2023.10.16 |
---|---|
* [프로그래머스 | JavaScript] 문자열 내 마음대로 정렬하기 (0) | 2023.10.16 |
[프로그래머스 | JavaScript] 문자열 정렬하기 (1) (0) | 2023.10.13 |
[프로그래머스 | JavaScript] 문자열 내 p와 y의 개수 (0) | 2023.10.12 |
[프로그래머스 | JavaScript] 최댓값 만들기(1) (0) | 2023.10.12 |