문제
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
https://school.programmers.co.kr/learn/courses/30/lessons/76501
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내가 작성한 코드
프로그래머스 링크가 있는지 모르고 문제만 읽고 풀었더니, 문제를 잘 못 이해해서 풀어버렸다 ㅎ ㅋ
let absolutes = [1, 2, 3];
let signs = ['+', '-', '+'];
function solution(ab, s) {
let mapNum = ab.map((e, i) => Number(signs[i] + e));
let sum = 0;
for (let item of mapNum) sum += item;
return sum;
}
solution(absolutes, signs);
정답
- return해야 하는 answer 생성
- 두 배열을 비교해 가면서 값을 더하거나 빼줄 것 - for반복문 사용
두 배열은 크기가 같음 - 출력
function solution(absolutes, signs) {
let answer = 0;
// 두 배열 길이 같음
for (let i = 0; i < absolutes.length; i++) {
// 부호(+, -)에 따른 처리
// 값이 true인 경우(양수)
// 값이 false인 경우(음수)
// 값이 true인 경우(양수)
// 값이 false인 경우(음수)
signs[i] ? answer += absolutes[i] : answer -= absolutes[i]
}
return answer;
}
'JavaScript' 카테고리의 다른 글
| 숙제4 - 나이든 유저 (0) | 2023.05.29 |
|---|---|
| 숙제3 - 문자열 내 마음대로 정렬하기 (0) | 2023.05.28 |
| 숙제1 - 문자열 연습하기 (0) | 2023.05.28 |
| 클로저 (0) | 2023.05.28 |
| Class (0) | 2023.05.28 |