문제 : 문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.
function solution(before, after) {
const firstWord = before.split("").sort().join("");
const secondWord = after.split("").sort().join("");
return firstWord == secondWord ? 1 : 0
}
🗒️코멘트 : 자료 구조를 왜 공부를 해야 하는지 이 문제를 풀면 바로 알게 된다. firstWord
와 secondWord
의 경우, join("")
을 하지 않아도 겉으로 보기에는 똑같은 배열을 가지고 있는 것 처럼 보일 것이다 (실제로 똑같은 요소들을 가지고 있기는 하다). 하지만 메모리에 저장될 때에는 요소가 같은 것이지 배열 자체의 주소 값은 다르기 때문에 컴퓨터는 같다고 인식을 하지 못 한다.
문제 : 정수 배열 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차원 배열로 변경합니다.
function solution(num_list, n) {
const arr = [];
const repeat = num_list.length/n
for (let i = 0 ; i < repeat ; i++){
arr.push(num_list.slice(n*i,n+n*i));
}
return arr
}
🗒️코멘트 : NULL
문제 : 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요.
function solution(array, n) {
const arr = [];
array.sort();
for (let i = 0 ; i < array.length ; i++){
arr.push(Math.abs(array[i]-n))
}
return array[arr.indexOf(Math.min(...arr))]
}
🗒️코멘트 : 처음으로 받아보는~~9점!! 예이~