문제 설명
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열numbers
가 매개변수로 주어집니다. numbers
에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
numbers
의 길이 ≤ 9numbers
의 모든 원소 ≤ 9numbers
의 모든 원소는 서로 다릅니다.입출력 예
numbers | result |
---|---|
[1,2,3,4,6,7,8,0] | 14 |
[5,8,4,0,6,7,9] | 6 |
입출력 예 설명
입출력 예 #1
5, 9가 numbers
에 없으므로, 5 + 9 = 14를 return 해야 합니다.
입출력 예 #2
1, 2, 3이 numbers
에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.
function solution(numbers) {
return 45 - numbers.reduce((a, b) => a +b);
}
function solution(numbers) {
let result = 0;
for (let i = 0; i <=9; i++) {
if (!numbers.includes(i)) {
result += i;
}
} return result;
}
includes 메서드를 활용하면 for문을 사용했을 때 boolean으로 numbers 배열에 for문에 선언된 i가 false일 때 추가 할 수 있는 활용법에 대해 알게 되었다.
문제 설명
길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요.
이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1]
입니다. (n은 a, b의 길이)
제한사항
a, b의 길이는 1 이상 1,000 이하입니다.
a, b의 모든 수는 -1,000 이상 1,000 이하입니다.
입출력 예
a | b | result |
---|---|---|
[1,2,3,4] | [-3,-1,0,2] | 3 |
[-1,0,1] | [1,0,-1] | -2 |
입출력 예 설명
입출력 예 #1
a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3
입니다.
입출력 예 #2
a와 b의 내적은 (-1)*1 + 0*0 + 1*(-1) = -2
입니다.
function solution(a, b) {
let result = 0;
for (let i = 0; i < a.length; i++) {
result += a[i]*b[i];
}
return result;
}
function solution(a, b) {
return a.reduce((acc, cur, i) => acc += a[i]*b[i], 0)
}
reduce를 사용하여 for문과 같은 효과를 낼 수 있다는 것에 놀라웠다. reduce에 대해 더 많이 공부를 해야할 것 같다는 생각이 들었다.
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
입출력 예
s | return |
---|---|
"Zbcdefg" | "gfedcbZ" |
function solution(s) {
return s.split('').sort((a, b) =>
a > b ? -1 : 1).join('');
}
split()
메서드를 사용하여 배열로 분리한다.sort()
메서드를 사용한다.sort()
메서드는 오름차순으로 정렬되기 때문에 내림차순으로 정렬하는 방법을 사용했다.join()
메서드를 사용하여 문자열을 합친다.function solution(s) {
return s.split('').sort().reverse().join('');
}
sort()
메서드안에서 내림차순으로 정렬하는 방법도 있지만 reverse()
메서드를 사용해서 내림차순으로 변경하는 방법도 있다는 것에 대해 알게 되었다.
reference
https://school.programmers.co.kr/
https://www.w3schools.com/jsref/jsref_includes_array.asp
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort