구름톤 챌린지

코테 문제 풀이

[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..

코테 문제 풀이

[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
'구름톤 챌린지' 태그의 글 목록