가수면
[Javascript] 없는 숫자 더하기 본문
문제 설명
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항- 1 ≤ numbers의 길이 ≤ 9
- 0 ≤ numbers의 모든 원소 ≤ 9
- numbers의 모든 원소는 서로 다릅니다.
[1,2,3,4,6,7,8,0] | 14 |
[5,8,4,0,6,7,9] | 6 |
내가 쓴 코드
function solution(numbers) {
var answer = -1;
answer = 0
numbers.forEach((value) => answer += value)
let sum = 45 - answer
answer = sum
return answer;
}
처음에는 없는 숫자를 찾는 방법을 고민해보다가 어차피 0부터 9까지 하나씩만 있는 거라면 배열을 다 더하고 45에서 빼면 되겠구나라는 생각에 도달.
이때까지만 해도 베이스 코드들 건드리면 안 되는 건줄 알고 번거롭게 코드를 작성했었다.
다른 사람이 쓴 코드
function solution(numbers) {
let answer = 0;
for(let i = 0; i <= 9; i++) {
if(!numbers.includes(i)) answer += i;
}
return answer;
}
숫자가 커지면 전체 합을 알기 어렵기 때문에 이 접근법이 더 좋은 걸로 보인다.
.includes()
배열이 특정 요소를 포함하고 있는지 판별한다.
const array1 = [1, 2, 3];
console.log(array1.includes(2));
true
console.log(array1.includes(4));
false
'CS > 코딩 테스트' 카테고리의 다른 글
[Javascript] 평균 구하기 (0) | 2022.11.19 |
---|---|
[Javascript] 음양 더하기 (0) | 2022.11.19 |
[Javascript] 문자열을 정수로 바꾸기 (0) | 2022.11.19 |
[Javascript] 두 정수 사이의 합 (0) | 2022.11.19 |
[Javascript] 가운데 글자 가져오기 (0) | 2022.11.19 |
Comments