[프로그래머스] lv1. 없는 숫자 더하기 / Javascript
반응형
1. 문제
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
1 ≤ numbers의 길이 ≤ 9
- 0 ≤ numbers의 모든 원소 ≤ 9
- numbers의 모든 원소는 서로 다릅니다.
입출력 예
2. 풀이
const NUMS = { 0:0, 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9 };
function solution(numbers) {
for (let n of numbers) {
delete NUMS[n];
}
return Object.values(NUMS).reduce((acc, cur) => acc += cur, 0)
}
개선할 점
- NUMS 변수가 전역인점. 함수를 여러번 호출하면 전역 NUMS의 값이 바뀌어서 결과가 바뀌게 됨
- delete 연산에서 약간의 비용이 발생할 수 있음
GPT가 제안한 방법
function solution(numbers) {
const TOTAL = 45;
return numbers.reduce((acc, cur) => acc - cur, TOTAL)
}
똑똑하다...
3. 시간복잡도
O(N)
→ 최악의 경우에도 O(9)
반응형
'프로그래밍 > Algorithm' 카테고리의 다른 글
[프로그래머스] lv1. 특별한 이차원 배열 1 (0) | 2025.04.28 |
---|---|
[Softeer] lv1. 나무심기 / Javascript (0) | 2025.04.28 |
[프로그래머스] lv1. 음양 더하기 / Javascript (0) | 2025.04.25 |
[프로그래머스] lv1. 하샤드 수 / Javascript (0) | 2025.04.25 |
[프로그래머스] lv1. 정수 내림차순으로 배치하기 / Javascript (0) | 2025.04.25 |
댓글
이 글 공유하기
다른 글
-
[프로그래머스] lv1. 특별한 이차원 배열 1
[프로그래머스] lv1. 특별한 이차원 배열 1
2025.04.28 -
[Softeer] lv1. 나무심기 / Javascript
[Softeer] lv1. 나무심기 / Javascript
2025.04.28 -
[프로그래머스] lv1. 음양 더하기 / Javascript
[프로그래머스] lv1. 음양 더하기 / Javascript
2025.04.25 -
[프로그래머스] lv1. 하샤드 수 / Javascript
[프로그래머스] lv1. 하샤드 수 / Javascript
2025.04.25