JavaScript - 프로그래머스 레벨 : 0(8) - ORDER BY '정답률'

먹보·2022년 12월 21일
0

1. A로 B 만들기

문제 : 문자열 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 
}

🗒️코멘트 : 자료 구조를 왜 공부를 해야 하는지 이 문제를 풀면 바로 알게 된다. firstWordsecondWord의 경우, join("")을 하지 않아도 겉으로 보기에는 똑같은 배열을 가지고 있는 것 처럼 보일 것이다 (실제로 똑같은 요소들을 가지고 있기는 하다). 하지만 메모리에 저장될 때에는 요소가 같은 것이지 배열 자체의 주소 값은 다르기 때문에 컴퓨터는 같다고 인식을 하지 못 한다.

2. 2차원으로 만들기

문제 : 정수 배열 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

3. 가까운 수

문제 : 정수 배열 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점!! 예이~

profile
🍖먹은 만큼 성장하는 개발자👩‍💻

0개의 댓글