분류 전체보기

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

    제코베의 도움을 받아 성공적으로 지도를 만들어낸 지식이는 캐릭터의 움직임을 구현했습니다. 하지만 지도 위의 캐릭터 위치를 나타내는데 문제가 발생했습니다. 지식이는 지도 위에서 캐릭터의 위치를 나타내기 위해 다시 한번 제코베에 도움을 요청합니다. 지도 위에서 캐릭터의 위치를 나타내주세요 1. 지도는 88번 문제의 해답을 사용해 주세요 2. 입력값은 지도, 캐릭터의 움직임입니다. 3. 캐릭터의 움직임은 { 상:1, 하:2, 좌:3, 우:4 }로 정수로 이루어진 배열이 들어갑니다. 4. 벽과 장애물은 통과할 수 없습니다. 5. 마지막 캐릭터의 위치를 반영한 지도를 보여주고 위치를 반환하는 함수를 작성해 주세요. /** * 지도의 크기, 장애물의 위치, 캐릭터의 위치를 입력받아 * 게임 지형을 완성해 출력해주는..

    백준 / 백트래킹 / 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 의..