전체적으로 각각의 문제에서 대응하는 매서드를 알고 있으면 쉽게 처리할 수 있는 문제들이라 묶어서 포스팅.
가장 큰 수 찾기
문제 설명
정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 ≤ array의 길이 ≤ 100
- 0 ≤ array 원소 ≤ 1,000
- array에 중복된 숫자는 없습니다.
풀이
const solution = (array) =>
[...array]
.map((el, idx) => [el, idx])
.sort((a,b) => b[0]-a[0])[0]
map()을 이용하여 [기존원소, 인덱스] 의 형태로 새로운 배열을 만들고, "기존원소"로 내림차순 정렬 후
첫번째 원소를 리턴.
숫자 찾기
문제 설명
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 < num < 1,000,000
- 0 ≤ k < 10
- num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.
풀이
const solution = (num, k) =>
String(num).indexOf(k) !== -1 ? String(num).indexOf(k) + 1 : -1;
주어진 num을 문자형으로 변경 후 indexOf() 매서드를 이용, 삼항 연산자를 이용하여
값이 -1이 아니면 ( 숫자가 존재하면 ) 해당 인덱스 + 1을 리턴, 그외의 경우 -1을 리턴.
n의 배수 고르기
문제 설명
정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 10,000
- 1 ≤ numlist의 크기 ≤ 100
- 1 ≤ numlist의 원소 ≤ 100,000
풀이
const solution = (n, numlist) => numlist.filter(el => el%n === 0)
filter() 매서드를 이용하여 각 원소를 n으로 나눈 나머지가 0인 경우에만 필터링 후 리턴.