function solution(numbers, num1, num2) {
return numbers.slice(num1, num2+1);
}
⭐️ slice( )와 splice( )의 차이점
slice : 원본 배열을 해치지 않고 새로운 배열을 만든다.
splice : 원본 배열을 수정, 교체한다.slice(시작index, 종료index)
: 시작 index 부터 종료 index "전"까지의 값을 반환한다.
⚠️ 주의 : 종료 index는 포함하지 않음!!
index가 음수인 경우는 뒤에서 부터 추출하는 것.splice(시작index, 제거갯수, 추가요소)
자세한 예시는 아래 사이트 참조
https://im-developer.tistory.com/103
function solution(age) {
return String(age).split('').map(n => String.fromCharCode(Number(n) + 97)).join('')
}
숫자는 split할 수 없다.
따라서 String( )
을 통해 문자열로 바꾸어준 뒤 split 해야 한다.
⭐️ 숫자를 문자열로 바꾸는 방법
- String(숫자)
- 숫자.toString()
⭐️ String.fromCharCode( )
: 숫자를 문자로 변환해주는 함수(ASCII 코드)
97부터 "a"이다.
예시
String.fromCharCode(97) === "a"
String.fromCharCode(98) === "b"
숫자를 정렬해서 index를 구하면 각각의 순서는 구할 수 있는데 원래 배열에 어떻게 적용을 시켜야할 지가 어려웠다.
function solution(emergency) {
let sort = emergency.sort((a,b)=> b - a)
return sort.map(n => sort.indexOf(n)+1)
}
function solution(emergency) {
let sorted = [...emergency].sort((a,b)=> b - a);
return emergency.map(n => sorted.indexOf(n)+1);
}
sort( )
는 기존 배열을 변경하여 요소를 정렬시킨다. 따라서 기존 배열을 해치지 않고 복사하기 위해 spread operator를 통해 깊은 복사해준다.
참고 ) spread operator가 아닌 slice( )
로도 복사본을 만들 수 있다.
(기존 배열에 map 하는걸 생각하지 못했음.)
약수의 개수 풀이와 같다.
function solution(n) {
var answer = 0;
for(i=1;i<=n;i++){
if(n % i === 0){
answer++;
}
}
return answer;
}