본문 바로가기

코딩테스트/Javascript로 코딩테스트 준비하기3

프로그래머스 :: N-Queen, Javascript 😺 풀어 볼 문제 프로그래머스 :: N-Queen 코딩테스트 준비하면서 세 번 정도 풀었던거 같은데, 왜 매번 풀 때마다 새로운지 모르겠다. 아는게 아니라 익숙했기 때문에 그런거 같다. 이번 기회에 확실하게 알기위해 정리 해 놓으려고 한다. 간단한 풀이 설명 대표적인 백트래킹 문제이다. 재귀를 통해서, 조건에 맞으면 퀸을 놓고 조건에 맞지 않으면 다음 것으로 탐색을 진행하면 된다. 말은 쉽다 조금 더 자세히 설명하자면, 퀸은 가로, 세로, 대각선 방향으로 움직일 수 있다. 그러니까, 어차피 가로에는 하나 밖에 놓을 수 없으니, 놓을 수 있는 자리면 놓고, 다음 row로 이동해서 놓을 위치를 탐색하는것이 목표이다. 아래 그림처럼, 첫째 줄에 두번째 칸에 놓은 경우 빨간색으로 칠한곳은 다른 퀸을 놓을 수 없.. 2021. 11. 18.
프로그래머스 :: 멀쩡한 사각형, javascript 😺 풀어 볼 문제 멀쩡한 사각형 간단한 풀이 설명 생각하기가 쉽지 않았던 문제이다. 어떤 규칙을 찾아서 공식을 구해야 하는 문제인데 나도 힌트를 얻기까지 혼자서 풀 지 못하였다. 최소공약수의 개념이 들어간다. 잘리는 정사각형을 자세히 살펴보면, 가로/최소공약수 세로/최소공약수의 패턴이 최소공약수만큼 반복되는것을 확인 할 수 있다. 그림으로 좀 더 이해하기 쉽게 살펴보자 예제는 12X8의 크기를 가지고 있기 때문에, 그림과 같이 3X2의 패턴들이 최소공약수인 4번만큼 반복된다. 나눠진 직사각형을 자세히 보면, 가로줄 12/4번, 세로줄 8/2번 총 5번을 통과해 다음 패턴으로 넘어간다.(겹치는 부분 포함) 따라서, 겹치는 부분을 제외한 3 + 2 - 1의 정사각형을 지나서 다음 패턴으로 넘어가게 되는데, .. 2021. 11. 16.
Javascript || 숫자 배열 정렬, 오름차순 프로그래머스에서 문제를 풀던 중, 숫자 배열 정렬하는 부분에서 오류가 나서 진행이 되지 않았고, MDN에서 arr.sort() 문서를 찾아봤습니다. 간략하게 설명하면, sort(compareFunction)함수에서 compareFunction을 비워두는 경우, "사전순"으로 정렬이 된다고 설명하고 있습니다. 예를 들어, 아래처럼 [80,9]라는 배열을 sort()를 통해 정렬하면 80은 9보다 크지만, 사전순으로 정렬되기 때문에 80이 앞으로 정렬이 됩니다. let arr = [80,9] arr.sort()//[80,9] 따라서, 비교하는 compareFunction을 따로 지정해줘야 숫자를 오름차순으로 정렬할 수 있습니다 오름차순으로 정렬하는 경우, 공식문서의 예제로는 다음과 같게 정렬하고 있습니다. .. 2021. 7. 18.