배열 회전시키기
※풀이
1. direction이 'right'인 경우:
· numbers.pop()을 사용하여 numbers 배열에서 마지막 요소를 추출합니다.
· 추출한 요소와 나머지 numbers 배열을 합치기 위해 전개 연산자(...)를 사용합니다.
· 이렇게 이동한 배열을 numbers 변수에 할당합니다.
2. direction이 'left'(else)인 경우:
· numbers.slice(1)을 사용하여 numbers 배열에서 첫 번째 요소를 제외한 나머지 요소들을 추출합니다.
· numbers.shift()을 사용하여 numbers 배열의 첫 번째 요소를 추출합니다.
· 추출한 첫 번째 요소와 나머지 요소들을 합치기 위해 전개 연산자(...)를 사용합니다.
· 이렇게 이동한 배열을 numbers 변수에 할당합니다.
3.이동된 numbers 배열을 반환합니다.
pop() | JavaScript 배열 메서드 중 하나로, 배열에서 마지막 요소를 제거하고 해당 요소를 반환하는 역할을 합니다. 이 메서드는 원본 배열을 수정합니다. |
slice() | JavaScript 배열 메서드 중 하나로, 배열의 일부분을 추출하여 새로운 배열을 반환하는 역할을 합니다. slice() 메서드는 원본 배열을 수정하지 않고 추출된 요소들로 이루어진 새로운 배열을 반환합니다. 메서드는 두 개의 매개변수를 받을 수 있습니다. 첫 번째 매개변수는 추출을 시작할 인덱스이고 (이 인덱스는 포함됨), 두 번째 매개변수는 추출을 종료할 인덱스입니다 (이 인덱스는 제외됨). 만약 매개변수를 지정하지 않으면, 전체 배열이 추출됩니다. |
shift() | JavaScript 배열 메서드 중 하나로, 배열에서 첫 번째 요소를 제거하고 해당 요소를 반환하는 역할을 합니다. 이 메서드는 원본 배열을 수정합니다. |
ex1)
{
function solution(numbers, direction) {
if (direction === 'right') {
numbers = [numbers.pop(), ...numbers]
} else {
numbers = [...numbers.slice(1), numbers.shift()]
}
return numbers
}
console.log(solution([1,2,3],"right"));
//[3, 1. 2]
}
ex2)
{
function solution(numbers, direction) {
if (direction === 'right') {
numbers = [numbers.pop(), ...numbers]
} else {
numbers = [...numbers.slice(1), numbers.shift()]
}
return numbers
}
console.log(solution([4, 455, 6, 4, -1, 45, 6],"left"));
//[455, 6, 4, -1, 45, 6, 4]
}
외계행성의 나이
※풀이
1. chr이라는 변수에 문자열 'abcdefghij'를 할당합니다. 이는 0부터 9까지의 자릿수에 대응하는 알파벳들을 나타냅니다.
2. age를 문자열로 변환하기 위해 age.toString()을 사용합니다.
3. Array.from() 메서드를 사용하여 문자열을 배열로 변환합니다. 이를 통해 각 자릿수를 개별적으로 다룰 수 있습니다.
4. map() 메서드를 사용하여 배열의 각 요소에 대해 콜백 함수를 실행합니다. 여기서 v는 각 자릿수를 나타냅니다.
5. 콜백 함수 내에서 chr[v]를 통해 v에 해당하는 알파벳을 가져옵니다. 예를 들어, v가 0이면 chr[0]은 'a'가 됩니다.
6. map() 메서드의 결과인 각 알파벳으로 이루어진 배열을 join('')을 통해 문자열로 이어붙입니다.
7. 이어붙인 문자열을 반환합니다.
toString() | JavaScript에서 사용되는 메서드 중 하나로, 숫자, 객체, 배열 등을 문자열로 변환하는 역할을 합니다. |
Array.from() | JavaScript에서 사용되는 정적 메서드로, 유사 배열 객체나 반복 가능한(iterable) 객체를 배열로 변환하는 역할을 합니다. |
map() | JavaScript 배열 메서드 중 하나로, 배열의 각 요소에 대해 주어진 함수를 호출하여 새로운 배열을 생성하는 역할을 합니다. |
join('') | JavaScript 배열 메서드 중 하나로, 배열의 모든 요소를 문자열로 이어붙이는 역할을 합니다. |
ex1)
{
function solution(age) {
let chr = 'abcdefghij';
return Array.from(age.toString()).map(v => chr [v]).join('');
}
console.log(solution(23));
//"cd"
}
ex2)
{
function solution(age) {
let chr = 'abcdefghij';
return Array.from(age.toString()).map(v => chr [v]).join('');
}
console.log(solution(51));
//"fb"
}