어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
Approach
- 숫자를 담은 absolutes의 요소 하나 하나를 돌며, signs의 i 번째 요소가 true일 때 +absolute, false일때 -absolute을 반환한다.
- 그렇게 반환된 배열의 요소들 간의 합을 구한다.
map, 삼항연산자 활용
function solution(absolutes, signs) {
const answer = absolutes.map((absolute,i)=>signs[i]? +absolute:-absolute).reduce((a,b)=> a+b)
return answer;
}
반복문, if문 활용
function solution(absolutes, signs) {
// 1. return 해야하는 answer 생성;
// 결국 출력해야하는 값이 숫자이기 때문에 0으로 시작하기
var answer = 0
// 2. 두 배열을 비교해 가며 값을 더하거나 빼줄 것
// 2-1. 두 배열은 크기가 같음
for(var i = 0; i<absolutes.length; i++) { //absolutes 나 signs 둘 중 하나만 선택해서 돌려도 상관 없다.
// 부호(+-)에 따른 처리
if(signs[i] === true) { // 만약에 signs의 i 번째 요소가 true 이면
// 값이 true 인 경우(양수)
answer = answer + absolutes[i];
} else if (signs[i] === false){
// 값이 false 인 경우(음수)
answer = answer - absolutes[i];
}
}
// 3. 출력
return answer;
}
map, if 문 활용
function solution(absolutes, signs) {
const answer = absolutes.map((absolute,i)=> {
if(signs[i]===true){
return +absolute;
} else {
return -absolute;
}
})
.reduce((a,b)=> a+b)
return answer;
}
728x90
반응형
'부트캠프 개발일지 2023-2024 > Algorithm 알고리즘' 카테고리의 다른 글
[Programmers] 알고리즘 : 없는 숫자 더하기 (2) | 2023.12.06 |
---|---|
[Programmers] : 알고리즘 : 핸드폰 번호 가리기 (0) | 2023.12.01 |
[Programmers] 알고리즘 : 나누어 떨어지는 숫자 배열 (0) | 2023.11.29 |
[Programmers] 알고리즘: 서울에서 김서방 찾기 (1) | 2023.11.27 |
[Programmers] 알고리즘 : 하샤드의 수 (0) | 2023.11.23 |