728x90
문제
https://programmers.co.kr/learn/courses/30/lessons/76501
코딩테스트 연습 - 음양 더하기
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re
programmers.co.kr
코드
function solution(absolutes, signs) {
let answer = 0;
let i, j;
for (i=0; i<signs.length; i++) {
if (signs[i] === true) {
absolutes[i] = absolutes[i] * 1;
}
else absolutes[i] = absolutes[i] * -1;
}
for (j=0; j<absolutes.length; j++) {
answer += absolutes[j]
}
return answer;
}
후기
- 이 문제는 '없는 숫자 더하기' 문제와 매우 비슷하다고 느꼈고 reduce 함수를 이용해서 풀어보려 했으나 사용법이 익숙치 않아서 결국 for문으로 풀게 되었다
- 다른 분들의 풀이에 reduce와 삼항 연산자를 이용하여 한 줄 풀이 한 것을 보았다
- 삼항 연산자는 "조건문 ? 선택문1 : 선택문2" 의 구조로 이루어져 있고, 조건문이 true일 때, 선택문1이, false일 때, 선택문2가 실행된다
- 삼항연산자에 대해 찾아보던 중에 JavaScript에서는 '?'가 삼항연산에서뿐만 아니라 더 다양한 쓰임새가 있다는 것을 알게 되었고 밑의 링크는 참고한 블로그이다
- https://ichi.pro/ko/javascript-ui-mabeob-217281274422961
'알고리즘 > Programmers' 카테고리의 다른 글
[Programmers] 숫자 문자열과 영단어 / JavaScript (0) | 2022.01.05 |
---|---|
[Programmers] 크레인 인형뽑기 게임 / JavaScript (0) | 2022.01.05 |
[Programmers] 내적 / JavaScript (0) | 2022.01.05 |
[Programmers] 없는 숫자 더하기 / JavaScript (0) | 2022.01.05 |
[Programmers] 소수 만들기 / JavaScript (0) | 2022.01.05 |