반응형
자바스크립트 1주차 숙제는 알고리즘 풀이로 되어있었다.
프로그래머스 문제
🧐나의 문제 풀이
function solution(absolute, signs) {
let answer = [];
for (let i = 0; i < signs.length; i++) {
if (signs[i] === !false) {
answer.push(absolute[i]);
} else {
answer.push(absolute[i] * -1);
}
}
return answer.reduce((a, b) => a + b, 0)
}
solution([4, 7, 12], [true, false, true]);
빈 배열을 먼저 만들어 주고 반복문을 통해 signs의 배을 순회한다.
sings[i]의 false인것의 인덱스를 찾아서 absolute인덱스에 적용하고 그 값을 -1을 곱해서 음수로 나타낸다.
그리고 absolute의 값을 하나씩 빈배열에 push해 주면 [4, -7, 12]값이 나오는데, 이 배열을 reduce함수를 통해 합을 구해주었다.
🧐 모범 답안
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;
}
🤩 느낀점
나는 왜 빈 배열을 만들어 가면서까지 배열의 형태로 값을 찾으려 했을까?
합을 구하는 문제이니 signs인덱스의 값을 통해 absolute의 값들을 더해주면 되는 문제였는데...
너무 복잡하게 생각했거나, 아님 아직 간단하게 풀 수 있는 로직을 생각해 낼 수 없었거나.. 후자인듯...
문제를 많이 풀어봐서 코팅뇌를 장착할 수 있도록 노력하자 ㅠ
반응형
'TIL' 카테고리의 다른 글
[TIL] THIS (0) | 2024.01.03 |
---|---|
[TIL] 스코프 (Scope) (1) | 2024.01.02 |
[TIL] SQL과 기본쿼리 3 (1) | 2023.12.27 |
[TIL] SQL과 기본 쿼리 2 (0) | 2023.12.26 |
[TIL] SQL과 기본 쿼리 (1) | 2023.12.22 |
댓글