1일차 → 음양 더하기(삼항연산자, *-1)
문제 설명
어떤 정수들이 있습니다. 이 정수들의 절대값을 차례대로 담은 정수 배열 absoultes와 이 정수들의 부호를 차례대로 담은 boolean 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하는 함수
제한사항
- absolutes의 길이는 1 이상 1,000 이하입니다.
- absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
- signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
내가 푼 문제 풀이
1. for문과 if문을 사용하여서 signs[i]가 true이면 양수이기 때문에 Math.abs를 사용하여 sum에 더해주고
signs[i]가 false이면 음수이기 때문에 absolutes[i]에 *-1을 해서 음수로 만들어서 sum에 더한다.
function solution(absolutes, signs) {
let answer = 123456789;
let sum = 0
for(let i = 0; i<absolutes.length; i++){
if(signs[i] == true){
sum += absolutes[i]
// absolutes[i]의 값을 양수 그대로 sum에 더한다.
}else{ // signs == false
sum += absolutes[i] * -1
// -1을 곱해서 absolutes[i]의 값을 음수로 바꾼다.
// 음수로 바뀐 값을 sum에 더한다.
// sum -= absolutes[i]로 해도 됨
}
}
return answer=sum;
}
1. for문 안에 삼항연산자를 사용하여 signs[i]가 true이면 양수이기 때문에 참 결과값에 absolutes[i]를 넣어주고
false인 경우에는 음수이기 때문에 absolutes[i] * -1을 해서 음수로 만들어 준다.
2. 1번의 결과값을 check 변수에 담고 check 변수를 sum 변수에 담아준다.
function solution(absolutes, signs) {
let answer = 123456789;
let sum = 0
for(let i = 0; i<absolutes.length; i++){
let check = signs[i] == true ? absolutes[i] : absolutes[i] * -1
sum += check
}
return answer=sum;
}
https://programmers.co.kr/learn/courses/30/lessons/76501
코딩테스트 연습 - 음양 더하기
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re
programmers.co.kr