Algorithm 썸네일형 리스트형 [NodeJS] 프로그래머스 문자열 압축 /** * @link https://school.programmers.co.kr/learn/courses/30/lessons/60057 */ const solution2 = (s) => { let answer = [s.length]; const len = Math.floor(s.length / 2) + 1; for (let i = 1; i < len; i++) { let cnt = 1; let str = ''; for (let j = 0; j < s.length; j += i) { const pChar = s.substring(j, j + i); const char = s.substring(j + i, j + i * 2); if (pChar === char) { cnt++; } else { str = `.. 더보기 [NodeJS] 프로그래머스 추석 트래픽 /** * @link https://school.programmers.co.kr/learn/courses/30/lessons/17676 */ function solution(lines) { let answer = 0; const times = []; const START = 'START'; const FINISH = 'FINISH'; for (const line of lines) { const [, time, timeTaken] = line.split(' '); const [h, m, s] = time.split(':'); const finishTime = (Number(s) + Number(m) * 60 + Number(h) * 3600) * 1000; const startTime = finishTim.. 더보기 [NodeJS] 프로그래머스 신고 결과 받기 /** * @link https://school.programmers.co.kr/learn/courses/30/lessons/92334 */ function solution(id_list, report, k) { const answer = new Array(id_list.length).fill(0); const reports = [...new Set(report)].map((a) => a.split(' ')); const reportCntMap = {}; const reportMap = reports.reduce((map, [id, reportId]) => { map[id] = map[id] ? [...map[id], reportId] : [reportId]; reportCntMap[`${reportId.. 더보기 [NodeJS] 백준 5086 /** * @link https://www.acmicpc.net/problem/5086 * @description * 문제 4 × 3 = 12이다. 이 식을 통해 다음과 같은 사실을 알 수 있다. 3은 12의 약수이고, 12는 3의 배수이다. 4도 12의 약수이고, 12는 4의 배수이다. 두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오. 첫 번째 숫자가 두 번째 숫자의 약수이다. 첫 번째 숫자가 두 번째 숫자의 배수이다. 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다. 입력 입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 10,000이 넘지않는 두 자연수로 이루어져 있다. 마지막 줄에는 0이 2개 주어진다. 두 수가 같은 경우는 없다. 출력 각.. 더보기 [NodeJS] 백준 2609 /** * @link https://www.acmicpc.net/problem/2609 * @description * * 문제 두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 출력 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. */ const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); const input = [].. 더보기 [NodeJS] 백준 1934번 /** * @link https://www.acmicpc.net/problem/1934 * @description * 문제 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있으며, 최소 공배수는 30이다. 두 자연수 A와 B가 주어졌을 때, A와 B의 최소공배수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 둘째 줄부터 T개의 줄에 걸쳐서 A와 B가 주어진다. (1 ≤ A, B ≤ 45,000) 출력 첫째 줄부터 T개의 줄에 A와 B의 최소공배수를 입력받은 순서대로 한 줄에 하나.. 더보기 [NodeJS] 백준 1037번 /** * @link https://www.acmicpc.net/problem/1037 * @description * 문제 양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. 출력 첫째 줄에 N을 출력한다. N은 항상 32비트 부호있는 정수로 표현할 수 있다. */ const readline = require('readline'); const rl = readline.. 더보기 [NodeJS] 백준 12865번 /** * @link https://www.acmicpc.net/problem/12865 * @description * -문제- 이 문제는 아주 평범한 배낭에 관한 문제이다. 한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한 즐기기 위한 여행이기 때문에, 가지고 다닐 배낭 또한 최대한 가치 있게 싸려고 한다. 준서가 여행에 필요하다고 생각하는 N개의 물건이 있다. 각 물건은 무게 W와 가치 V를 가지는데, 해당 물건을 배낭에 넣어서 가면 준서가 V만큼 즐길 수 있다. 아직 행군을 해본 적이 없는 준서는 최대 K만큼의 무게만을 넣을 수 있는 배낭만 들고 다닐 수 있다. 준서가 최대한 즐거운 여행을 하기 위해 배낭에 넣을 수 있는 물건들의 가치의 최댓값을 알려.. 더보기 이전 1 ··· 14 15 16 17 18 19 다음