티스토리 뷰
💡 문제
🔍 분석 및 계획
✅ 문제 이해
내적
- 입력 값 : 두 1차워 배열
- 1 <= 두 배열의 길이 <= 1,000 / 빈배열 없음
- 모든 원소는 -1,000 <= 원소 <= 1,000 - 출력 값 : 내적 결과
반복문을 사용해 같은 인덱스끼리 곱해주면된다
✅ 의사코드 작성
function solution(a, b) {
//반복문을 통해 a, b의 인덱스가 같은 값들을 곱한 후 값을 합산
}
📝 코드 구현
의사코드 + 코드
function solution(a, b) {
//반복문을 통해 a, b의 인덱스가 같은 값들을 곱한 후 값을 합산
return a.reduce((acc, cur, idx) => acc + cur * b[idx], 0);
}
최종 코드
function solution(a, b) {
return a.reduce((acc, cur, idx) => acc + cur * b[idx], 0);
}
시간 복잡도 : O(n²)
💭 되돌아 보기
✅ 다른 사람 풀이
1.
사용하지 않는 인자를 _로 처리하여 어떤 인자를 사용하는지 더 쉽게 알 수 있었다.
cur대신 둘다 인덱스로 접근한것도 코드의 의도를 알 수 있는 좋은 작성이라고 생각했다
function solution(a, b) {
return a.reduce((acc, _, i) => acc += a[i] * b[i], 0);
}
'IT기초 > 프로그래머스 문제풀이' 카테고리의 다른 글
| [프로그래머스 LV.1] #29 두 개 뽑아서 더하기 (JavaScript) (0) | 2023.05.28 |
|---|---|
| [프로그래머스 LV.1] #28 3진법 뒤집기 (JavaScript) (0) | 2023.05.27 |
| [프로그래머스 LV.1] #26 신규 아이디 추천 (JavaScript) (0) | 2023.05.25 |
| [프로그래머스 LV.1] #25 음양 더하기 (JavaScript) (0) | 2023.05.24 |
| [프로그래머스 LV.1] #24 로또의 최고 순위와 최저 순위 (JavaScript) (0) | 2023.05.23 |
댓글
