- 팩토리얼
i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 4 3 2 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.
function solution(n) {
count = 1;
for( let i =1; i <=n; i++) {
if ( count <= n) {
count *= i+1;
answer = i;
}
} return answer
}
- 2차원으로 만들기
정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요.
num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다.
num_list |
n |
result |
[1, 2, 3, 4, 5, 6, 7, 8] |
2 |
[[1, 2], [3, 4], [5, 6], [7, 8]] |
function solution(num_list, n) {
let answer = [];
for (let i = 0; i< num_list.length; i++) {
answer.push(num_list.splice(i,n));
i=i-1;
} return answer
}
- k의 개수
1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.
i |
j |
k |
result |
1 |
13 |
1 |
6 |
10 |
50 |
5 |
5 |
3 |
10 |
2 |
0 |
function solution(i, j, k) {
let str2 =""
let count = 0;
for (let l = i; l <=j; l++ ) {
let str = l.toString()
str2 += str
}
for (let j = 0; j <str2.length; j++) {
if( str2[j] == k) {
count++
}
} return count
}
- 가까운 수
정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요.
array |
n |
result |
[3, 10, 28] |
20 |
28 |
[10, 11, 12] |
13 |
12 |
function solution(array, n) {
let answer = []
let a = array.map((x) =>Math.abs(n-x))
for (let i =0; i<a.length; i++) {
if ( Math.min(...a) === a[i]) {
answer.push(array[i]);
}
} return Math.min(...answer);
}