# Level 0. n의 배수 고르기
n의 배수 고르기
문제 설명
정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 10,000
- 1 ≤ numlist의 크기 ≤ 100
- 1 ≤ numlist의 원소 ≤ 100,000
문제 풀이
1
2
3 | function solution(n, numlist) {
return numlist.filter((num) => !(num % n));
}
|
- 요구사항대로 풀이함.
- 자바스크립트의 암묵적 타입변환을 이용함.
두번째 문제 풀이
1
2
3
4
5
6 | function solution(n, numlist) {
return numlist.filter((num) => {
if (num % n === 0) return true;
return false;
});
}
|
# Level 0. 숫자 찾기
숫자 찾기
문제 설명
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 < num < 1,000,000
- 0 ≤ k < 10
- num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.
첫번째 문제 풀이
1
2
3
4
5
6 | function solution(num, k) {
const numArr = num.toString().split("");
const strK = k.toString();
if (numArr.includes(strK)) return numArr.indexOf(strK) + 1;
return -1;
}
|
두번째 문제 풀이
1
2
3
4
5
6
7
8
9
10
11 | function solution(num, k) {
let index = 0;
const length = num.toString().length;
let answer = -1;
while (num) {
if (num % 10 === k) answer = length - index;
num = Math.floor(num / 10);
index++;
}
return answer;
}
|
- 요구사항대로 구현하되 배열이 아닌 숫자의 성질을 이용해서 풀이함.
# Level 0. 세균 증식
세균 증식
문제 설명
어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.
제한사항
문제풀이
1
2
3 | function solution(n, t) {
return n * Math.pow(2, t);
}
|
# Level 0. 한 번만 등장한 문자
한 번만 등장한 문자
문제 설명
문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
제한사항
- 0 < s의 길이 < 1,000
- s는 소문자로만 이루어져 있습니다.
문제 풀이
1
2
3
4
5
6
7
8
9
10
11 | function solution(s) {
let answer = "";
const countArray = new Array(32).fill(0);
for (let i = 0; i < s.length; i++) {
countArray[s.charCodeAt(i) - 97]++;
}
countArray.forEach((count, index) => {
if (count === 1) answer += String.fromCharCode(index + 97);
});
return answer;
}
|
- 한 번만 등장하는 문자를 찾는다.
- 사전순으로 정렬한다.
- 계수배열과 알파벳 맵 둘 다 O(N)의 시간복잡도를 가지지만, 알파벳 맵은 알파벳 맵을 따로 만들어야하기에 계수배열로 풀이했다.
# Level 0. 가장 큰 수 찾기
가장 큰 수 찾기
문제 설명
정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 ≤ array의 길이 ≤ 100
- 0 ≤ array 원소 ≤ 1,000
- array에 중복된 숫자는 없습니다.
문제 풀이
1
2
3
4 | function solution(array) {
const max = Math.max(...array);
return [max, array.indexOf(max)];
}
|