PS

    백준 / 백트래킹 / 9663번 / N-Queen / JS

    문제 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1 ≤ N < 15) 출력 첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다. 예제 입력 1 8 예제 출력 1 92 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : '../input.txt'; // const filePath = process.platform === 'linux' ? '/dev/stdin' : 'BOJ/input.txt'; const input = ..

    Programmers / Level 2 / N-Queen / JS

    문제 설명 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 서로를 한번에 공격 할 수 없습니다. 체스판의 가로 세로의 세로의 길이 n이 매개변수로 주어질 때, n개의 퀸이 조건에 만족 하도록 배치할 수 있는 방법의 수를 return하는 solution함수를 완성해주세요. 제한사항 퀸(Queen)은 가로, 세로, 대각선으로 이동할 수 있습니다. n은 12이하의 자연수 입니다. 입출력 예 n result 4 2 function solution(n) { let result = 0; const DFS = (board, row) => { // row가 n과 같다는 것은..

    제코베 JS 100제 / 88 / 지식이의 게임 개발

    지식이는 게임을 만드는 것을 좋아합니다. 하지만 매번 다른 크기의 지도와 장애물을 배치하는데 불편함을 겪고 있습니다. 이런 불편함을 해결하기 위해 지도의 크기와 장애물의 위치, 캐릭터의 위치만 입력하면 게임 지형을 완성해 주는 프로그램을 만들고 싶습니다. 지식이를 위해 게임 지형을 만드는 프로그램을 작성해 주세요. - 가로(n), 세로(m)의 크기가 주어집니다. - 지형의 테두리는 벽으로 이루어져 있습니다. - 캐릭터가 있는 좌표가 배열 형태로 주어집니다. - 장애물이 있는 좌표가 2차원 배열 형태로 주어집니다. 지도는 n * m 크기의 배열이며 배열 안의 값은 - 움직일 수 있는 공간(0) - 캐릭터(1) - 벽(2) 3개로 구분되어 있습니다. /** * 지도의 크기, 장애물의 위치, 캐릭터의 위치를 ..

    제코베 JS 100제 / 87 / 천하제일 먹기 대회

    천하제일 먹기 대회가 개최되었습니다. 이 대회는 정해진 시간이 끝난 후 음식을 먹은 그릇 개수를 파악한 후 각 선수들의 등수를 매깁니다. 1. 같은 이름의 선수는 없습니다. 2. 접시의 수가 같은 경우는 없습니다. /** * 음식을 먹은 그릇 개수를 파악한 후 각 선수들의 등수를 얻는 함수 * * @param {string[]} PLAYER_ARR 각 선수의 이름이 담긴 배열 * @param {number[]} DISH_COUNT_ARR 각 선수가 먹은 음식 그릇 개수가 담긴 배열 * @returns {object} key:선수, value:등수 를 가지는 object return */ function getRank(PLAYER_ARR, DISH_COUNT_ARR) { let rank = []; let ..

    제코베 JS 100제 / 86 / 회전 초밥

    쉔은 회전 초밥집에 갔습니다. 초밥집에 간 쉔은 각 초밥에 점수를 매기고 낮은 점수의 순서로 초밥을 먹으려 합니다. 이때 n위치에 놓여진 초밥을 먹고자 할 때 접시가 몇 번 지나가고 먹을 수 있을지 출력하세요. 초밥은 놓여진 위치에서 옮겨지지 않습니다. 지나간 초밥은 나머지 초밥이 지나간 후에 다시 돌아옵니다. 초밥은 1개 이상 존재합니다. 예) A, B, C, D, E 초밥이 있고 각 점수가 1, 1, 3, 2, 5 일 때 3번째(C초밥)을 먹게 되는 순서는 점수가 1인 초밥 A와 B를 먹고 다음으로 점수가 2인 D 초밥을 먹어야 A B C D E 순서로 접시가 도착하지만 C가 도착했을때 먹지 못하는 상황이 옵니다. 2점을 주었던 D를 먼저 먹어야 C를 먹을 수 있습니다. 즉, A B C D E C 의..

    제코베 JS 100제 / 85 / 숫자놀이

    일정한 규칙을 가지고 있는 숫자를 나열하는 놀이를 하는 중입니다. 이전 숫자에서 각 숫자의 개수를 나타내어 숫자로 만들고 다시 그 숫자를 같은 규칙으로 만들며 나열합니다. 이 놀이는 1부터 시작합니다. 다음 수는 1이 1개이기 때문에 '11'이 되고, '11'에서 1이 2개이기 때문에 그다음은 '12'가 됩니다. 즉, 1 -> (1) 11 -> (1이 1개) 12 -> (1이 2개) 1121 -> (1이 1개 2가 1개) 1321 -> (1이 3개 2가 1개) 122131 -> (1이 2개 2가 1개 3이 1개) 132231 -> (1이 3개 2가 2개 3이 1개) 위와 같이 진행되는 규칙을 통해 진행 횟수 N을 입력받으면 해당되는 수를 출력하세요. /** * 이전 숫자에서 각 숫자의 개수를 나타내어 숫..