-
음양 더하기 (for문, 삼항연산자or if문, 배열의 더하고 빼기)Coding Test/프로그래머스 Lv.0 2023. 5. 27. 14:57
signs가 [true,false,true] 이므로, 실제 수들의 값은 각각 4, -7, 12입니다.
따라서 세 수의 합인 9를 return 해야 합니다.제한사항
1. absolutes의 길이는 1 이상 1,000 이하입니다.
2. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
3. signs의 길이는 absolutes의 길이와 같습니다.
4. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.사실 제한사항은 안중요함.
이번 문제는 for문과 elseif을 사용해보기.
정수 배열이랬으므로 absolutes는 [ 1 , 2 , 3 , 4 ] 이런식.
✔️어떤 문제가 있었는지
function soultion(absolutes, signs) { var answer = 0; for (var i = 0; i < absolutes.length; i++) { if (signs[i] === true) { answer = answer + absolutes[i]; } else if (signs[i] === false) { answer = answer - absolutes[i]; } } return answer; }
매개변수를 정수배열과 불리언배열인 absolutes , signs 로 각각 설정.
var answer = 0; 설정 이유는 숫자이므로 0부터 시작.
for문으로 i는 0부터, 정수배열의 길이(absolutes.length)보다 적으면 1씩추가.
만약 양수면 (signs[i] === true) 추가
음수면 (signs[i] === false) 빼기
✔️내가 시도해본 것들위의 식은 틀렸음.
✔️어떻게 해결 했는지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; }
for문과 삼항연산자를 사용.
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; }
for문은 그대로 씀
signs[i] ? answer += absolutes[i] : answer -= absolutes[i]
부호가true일 경우 더하고 false일 경우 뺌.
✔️새롭게 알게된 것'Coding Test > 프로그래머스 Lv.0' 카테고리의 다른 글
짝수는 싫어요 (for문, if문, 배열끝 추가 push) (0) 2023.05.30 중앙값 구하기 array.sort((a, b) => a - b); 오름차순 정리, Math.ceil() 올림, Math.floor() 내림, Math.round() 반올림, length 배열의 길이 (0) 2023.05.30 두 수의 나눗셈 (몫 구하기) Math.trunc 소수점 제거 함수 (0) 2023.05.26 배열 안의 문자열 정리하기 (자동정렬sort, replace, 배열변경, 배열삭제) (0) 2023.05.26 문자열 내 p와 y의 개수 (filter문, split으로 문자 나누기) (0) 2023.05.26