문제 링크 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..
문제명 : 프로젝트 매니징 문제 프로젝트를 완수하기 위해서는 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..
문제 링크 https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 답안 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "text.txt"; const [n, r, c] = fs.readFileSync(filePath).toString().trim().split(" ").map(Number); function solution(n, r..
문제 링크 https://www.acmicpc.net/problem/4779 4779번: 칸토어 집합 칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고, www.acmicpc.net 답안 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "text.txt"; const newLine = process.platform === "linux" ? "\n" : "\r\n"; const input = fs.readFileSync(filePath).toString()...
문제 링크 https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 문제 설명 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 문제 해석 등차수열은 항이 넘어갈 때마다 정해진 수 만큼 증가하는 수열이다. (만약 수열의 각 항이 a1, a2, a3, a4, ....
문제 링크 https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 문제 설명 셀프넘버는 1949년 인도 수학자 D.R Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75 + 7 + 5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))),... 과..
문제 링크 https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 답안 const fs = require('fs') const input = fs.readFileSync('/dev/stdin').toString().trim().split("\n").map(Number) function solution(input) { const map = new Map() for (let i = 0; i < input.length; i++) { const key = input[i] % 42 if (map.has(key) === false)..
문제 링크 https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 답안 const fs = require('fs') const inputData = fs.readFileSync('/dev/stdin').toString().split(' ') const a = parseInt(inputData[0]) const b = parseInt(inputData[1]) console.log(a+b) 백준은 문제풀이가 좀 기괴하다. fs 모듈을 불러와서 입력되어있는 데이터를 불러와 문자열화 한다. - fs.readFileSync는 buffer 형식으로 return되기 때문에 toStr..