nodejs

코테 문제 풀이

[Node.js] 구름톤 챌린지 3주 Day3 풀이 (발전기 (2))

문제 한 변의 길이가 N인 정사각형 모양의 마을 M을 만드는 중이다. 마을의 모든 칸에는 건물이 하나씩 있고 r번째 행, c번째 열에해당하는 칸에는 정수 Mrc가 적혀있다. Mrc는 해당 칸에 있는 건물의 유형에 해당한다. 건물의 유형이 동일하면서, 서로 상하좌우에 인접한 건물끼리는 서로 전력을 공유할 수 있다. 전력을 공유할 수 있는 건물의 개수가 K개 이상이면 이를 단지라고 한다. 플레이어는 단 하나의 발전기만 설치할 수 있다. 발전기는 특정 건물의 유형 하나에 해당하는 모든 단지에 전력 공급이 가능하다. 가장 많은 단지가 있는 건물 유형에 전력을 공급할 것인데, 건물 유형이 여러개라면 Mrc가 더 큰 건물 유형에 전력을 공급한다. 전력을 공급해야 할 건물의 유형 번호를 구해보자. 코드 const r..

코테 문제 풀이

[Node.js] 구름톤 챌린지 2주 Day5 풀이 (GameJam)

문제 N x N 행렬에서 특수한 게임이 진행된다. 각 칸에는 에 해당하는 방향으로 칸 만큼 한칸씩 이동하라는 지시가 적혀있다. 플레이하는 사람은 처음에 보드의 칸 중 하나에 말을 하나 올려놓는다. 각 칸에 적힌 지시대로 말을 이동한다. 만약 이동 중 말이 보드 밖으로 나간다면, 보드의 반대쪽의 첫번째 칸으로 이동한다. 이동거리가 남아있다면 계속 이동한다. 만약 이동하다가, 자신의 말이 한번이라도 방문한 칸을 다시 지나야 할 경우에는 게임이 종료된다. 그 외의 경우에는 게임이 종료될 때까지 위의 단계를 반복한다. 게임의 점수는 시작한 칸을 포함하여, 게임이 종료되기 전까지 말이 방문한 서로 다른 칸의 개수이다. 플레이어는 goorm과 player 두명이고, 각 게임은 별개로 이루어진다. goorm과 pla..

코테 문제 풀이

[Node.js] 구름톤 챌린지 2주 Day4 풀이 (폭탄 구현하기(2))

문제 N x N 크기의 행렬이 주어진다. 행렬은 땅의 상태로 채워진다. 행렬의 각 좌표에는 폭탄이 떨어지는데, 폭탄은 땅의 상태에 비례하여 점수가 계산된다. 폭탄 좌표에 해당하는 땅의 상태가 @일 경우 해당 행렬 위치의 폭탄값은 2씩 증가한다. 폭탄 좌표에 해당하는 땅의 상태가 0일 경우 해당 행렬 위치의 폭탄값은 1씩 증가한다. 폭탄 좌표에 해당하는 땅의 상태가 #일 경우 해당 행렬 위치의 폭탄값 계산은 무시된다. 최초 폭탄값은 모두 0이고, N x N 행렬로 제작된다. 코드 const readline = require('readline'); let rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let ..

코테 문제 풀이

[Node.js] 구름톤 챌린지 2주 Day3 풀이 (통증)

문제 통증을 각각 14, 7, 1 만큼 줄여줄 진통제가 각각 존재한다. 통증이 주어졌을 때, 모든 통증을 줄여줄 수 있는 최소한의 진통제 사용량을 찾아서 리턴하라 코드 const readline = require('readline'); let rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let pain = 0; rl.on('line', (line) => { pain = parseInt(line) }).on('close', () => { let answer = 0 for (let i of [14, 7, 1]) { answer += Math.floor(pain / i) pain = pain % i } con..

코테 문제 풀이

[Node.js] 구름톤 챌린지 2주 Day2 풀이 (구름 찾기 깃발)

문제 N과 K, N x N 행렬이 주어진다. N은 행렬의 좌우 길이이고, K는 찾고자 하는 특정 숫자이다. N x N 행렬에는 구름이 무작위로 생성된다. 구름은 1로 표시되고, 구름이 없으면 0으로 표시된다. 행렬의 각 요소를 모두 순회하되, 구름이 없는 행렬의 상하좌우, 대각선 8칸에 구름이 몇개 있는지를 체크하여 주변 구름 갯수가 K개와 같다면 카운트를 1 증가시킨다. 최종적으로 카운트를 리턴한다. 코드 const readline = require('readline'); let rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input = []; rl.on('line', (line) => { in..

코테 문제 풀이

[Node.js] 구름톤 챌린지 2주 Day1 풀이

문제명 : 문자열 나누기 문제 길이가 N인 문자열 S가 주어진다. 문자열 S를 서로 겹치지 않는 3개의 부분 문자열로 나눠야 한다. 부분 문자열은 모두 길이가 1 이상이어야 하고, 원래 문자열에서 연속해야 한다. 문자열을 나누는 방법에 따라 플레이어는 점수를 얻을 수 있다. 점수 계산 방법은 아래와 같다. 문자열 S를 위 조건에 따라 3개의 부분문자열로 나눴을 때 등장하는 모든 부분 문자열을 중복제거하고 사전순으로 정렬한 결과를 P라고 하자. 나누어진 3개의 문자열이 각각 P에서 i, j, k번째로 등장하는 문자열이라면 얻을 수 있는 점수는 i + j + k 이다. abcd라는 문자열을 3개의 부분문자열로 나누는 방법은 {a, b, cd}, {a, bc, d}, {a, b, cd} 가 있다. 위의 원소들..

코테 문제 풀이

[Node.js] 구름톤 챌린지 1주 Day5 풀이

문제명 : 이진수 정렬 문제 N개의 10진수 정수가 배열로 주어진다. 이 정수를 2진수로 나타내고, 1의 갯수를 기준으로 내림차순 정렬한다. 1의 개수가 같다면 원래 10진수를 기준으로 내림차순 정렬한다. 입력 첫째 줄에 정수의 수 N이 주어지고, 찾으려는 정수의 위치 K가 공백을 두고 주어진다. 둘째 줄에 정수 a1, a2, ..., an이 공백을 두고 주어진다. 제약조건 입출력 예시1 입력 8 6 1 2 3 4 5 6 7 8 출력 4 풀이 const readline = require('readline'); let rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input = []; rl.on('l..

코테 문제 풀이

[Node.js] 구름톤 챌린지 1주 Day3 풀이

문제명 : 합 계산기 문제 여러개의 계산식을 입력받은 뒤, 각각의 계산 결과를 모두 합해서 출력하는 기능을 만들어라. 합 계산식에 입력할 수 있는 계산식은 아래 조건을 만족한다. 계산식은 정수, 연산기호, 정수 형태이다. 연산기호는 더하기, 빼기, 곱하기, 나누기 네 가지 사칙 연산 기호가 들어갈 수 있다. 이 때 나눗셈 결과의 나머지는 버린다. 입력 첫째 줄에 식의 갯수 T가 주어진다. 다음 T개의 줄에는 계산식이 주어진다. 제약조건 입출력 예시1 입력 3 1 + 3 4 / 3 3 - 2 출력 6 풀이 const readline = require('readline'); let rl = readline.createInterface({ input: process.stdin, output: process.s..

코테 문제 풀이

[백준 12789] 도키도키 간식드리미 (Node.js) - 스택, 큐

문제 링크 https://www.acmicpc.net/problem/12789 12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net 답안 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "text.txt"; const newLine = process.platform === "linux" ? "\n" : "\r\n"; let [max, line] = fs.readFileSync(filePath).toStri..

코테 문제 풀이

[Node.js] 구름톤 챌린지 1주 Day2 풀이

문제명 : 프로젝트 매니징 문제 프로젝트를 완수하기 위해서는 N개의 기능이 추가로 개발되어야 한다. 각 기능에는 1번부터 N번까지 번호가 붙어있고, i번째 기능을 개발하는데는 ci 분의 시간이 걸린다. 플레이어가 작업을 시작한 시각은 T시 M분이다. 한 기능을 끝마치면 바로 다음 기능의 개발을 시작한다. 모든 기능 개발을 끝마친 시각을 구하라. 입력 첫째 줄에 필요한 기능의 갯수 N이 주어진다. 둘째 줄에 두 정수 T, M이 공백을 두고 주어지며, 이는 현재 시각이 T시 M분임을 의미한다. 다음 N개의 줄에는 정수 ci가 주어진다. i번째 기능을 개발하는데는 ci분의 시간이 걸린다. 제약조건 입출력 예시1 입력 3 10 10 50 22 23 출력 11 45 예시2 입력 4 23 40 1000 1000 8..

2DC
'nodejs' 태그의 글 목록