프로그래머스 내적 해설, 문제풀이 과정, 인기 있는 문제풀이
프로그래머스 내적 문제 소개와 해설, 필자의 문제풀이 과정과 가장 인기 있던 문제풀이에 대해 소개하겠습니다. 아래 풀이 과정을 보면서 코딩에 있어서 유익한 인사이트를 얻길 바랍니다.
프로그래머스 내적 문제
(프로그래머스 내적 문제 직접 풀어보세요!)
알고리즘 문제인 "내적"은 두 배열의 내적값을 계산하는 문제입니다. 주어진 배열 a와 b의 길이는 1 이상 1,000 이하이며, 배열의 각 요소는 -1,000 이상 1,000 이하의 정수입니다.
문제 해결 방향
이 문제를 해결하기 위해서는 각 배열의 같은 인덱스에 위치한 요소들을 곱한 후 모두 더하는 연산을 수행해야 합니다.
필자의 문제풀이 해설
필자의 해결 방법은 함수를 활용하여 각 배열의 요소를 곱하고, 그 결과를 누적하여 반환하는 방식입니다. map 함수를 사용하여 각 요소를 곱하고, reduce 함수를 활용하여 덧셈 연산을 수행합니다.
function solution(a, b) {
return a
.map((x, y) => x * b[y])
.reduce((acc, cur) => {
return acc + cur;
}, 0);
}
인기있는 문제풀이
다른 개발자의 해결 방법은 reduce 함수를 주로 활용하여 문제를 해결했습니다. 이 방식은 배열의 길이만큼 반복하면서 각 요소를 곱하고 덧셈을 수행하는데, reduce 함수의 인덱스를 활용하여 간결하게 문제를 해결했습니다.
function solution(a, b) {
return a.reduce((acc, _, i) => acc += a[i] * b[i], 0);
}
이 방법은 코드의 길이를 더욱 줄일 수 있어서, 코드의 가독성을 높일 뿐만 아니라 효율적인 문제 해결이 가능합니다.
끝으로
이 문제는 간단한 듯 하지만 배열의 요소를 활용한 연산을 통해 정확한 결과를 도출해야 하는 알고리즘 문제입니다. 함수를 활용하는 방법과 reduce 함수를 이용하는 방법은 각자의 장단이 있지만, 코드의 가독성과 효율성을 고려하여 적절한 방법을 선택하는 것이 중요하다고 생각합니다. 알고리즘 문제를 해결하면서 여러 가지 방법을 시도해보고 익숙해지면, 코드를 작성하는 데 있어서 효율적인 패턴을 습득할 수 있을 것으로 기대합니다.
▼ 아래 글도 읽어보세요! ▼
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
프로그래머스 과일 장수 문제풀이 과정, 알고리즘 최적화 (1) | 2024.01.08 |
---|---|
프로그래머스 문자열 다루기 기본 해설, 인기 있는 문제풀이 (1) | 2023.12.29 |
프로그래머스 시저함수 문제 풀이, 해설, 알고리즘 코딩테스트 (0) | 2023.12.05 |
프로그래머스 최소직사각형 해설, 문제풀이 과정, 알고리즘 최적화 (1) | 2023.11.30 |
프로그래머스 부족한 금액 계산하기 해설, 문제풀이 과정 (0) | 2023.11.22 |