Algorithm & 자료구조/알고리즘 w.JavaScript
[알고리즘 JS] 크레인 인형뽑기 게임 (프로그래머스 Lv.1)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 /* [풀이 해설] 1. N * N의 행렬이 존재할 때, moves로 받고있는 '크레인의 위치' 는 i번째 행의 인덱스가 된다. 2. 크레인의 위치에서 맨 위부터 시작해 인형이 존재할 때 까지 아래로 파고들기 때문에, ... 전체 board를 반복해서, board[i][move - 1] 로 접근해야한다. ... moves로 들어오는 각 값을 0번째부터 시작하는 배열의 인덱스로 접근하기 ..
[알고리즘 JS] 프로그래머스 LV.1 소수 찾기
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12921?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1 function solution1(n) { // 입력 : 2 이상 자연수 n // 출력 : 1과 n 사이의 소수의 갯수 let cnt = 0; for (let i = 1; i
[알고리즘 JS]백준 17478번: 재귀함수가 뭔가요?
문제 https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 풀이 const readFileSyncAddress = '/dev/stdin'; const fs = require('fs'); let n = fs.readFileSync(readFileSyncAddress).toString(); n = Number(n); // 문장 앞에 들어갈 언더바 변수 let underbar = ''; const solution = function (n) { // 업데..
[알고리즘 JS]프로그래머스 Lv.1 신고 결과 받기
문제 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 풀이 // 입력값 const id_list = ['muzi', 'frodo', 'apeach', 'neo']; const report = [ 'muzi frodo', 'apeach frodo', 'frodo neo', 'muzi neo', 'apeach muzi', ]; const k = 2; // 풀이 function solution(id_list..
[알고리즘]백준 2581번: 소수 W_node.js
문제 https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 풀이 const readFileSyncAddress = '/dev/stdin'; const fs = require('fs'); let [m, n] = fs .readFileSync(readFileSyncAddress) .toString() .trim() .replaceAll(/\r/g, '') .split(/\n/g) .map((v) => +v); const isPrime = function (x) {..
[알고리즘]백준 1978번: 소수 찾기 W_node.js
문제 const readFileSyncAddress = '/dev/stdin'; const fs = require('fs'); let [t, testcases] = fs .readFileSync(readFileSyncAddress) .toString() .trim() .replaceAll(/\r/g, '') .split(/\n/g); const isPrime = function (n) { // n이 1이면 소수가 아니므로 false if (n === 1 || n < 0) return false; // 2부터 시작해 제곱근까지 나누어 떨어지는 수가 있으면 소수가 아니므로 false for (let i = 2; i +v); let cnt = 0; for (let x of arr) { if (isPrime(x..
[알고리즘]백준 10757번: 큰 수 A+B W_node.js
문제 https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 const readFileSyncAddress = '/dev/stdin'; const fs = require('fs'); let [a, b] = fs .readFileSync(readFileSyncAddress) .toString() .trim() .split(/\s/g); const solution = function (a, b) { return (BigInt(a) + BigInt(b)).toString(); }; console.log(solution(a, b)); 자바스크립트 내장객체 Big..
[알고리즘]백준 2839번: 설탕 배달 W_node.js
문제 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이 const readFileSyncAddress = '/dev/stdin'; const fs = require('fs'); let [input] = fs .readFileSync(readFileSyncAddress) .toString() .trim() .replaceAll(/\r/g, '') .split(/\n/g) .map((v) => +v); const solution = function (n) { let x = 1; let y = 1; while (5 * y..
[알고리즘]백준 10250번: ACM 호텔 W_node.js
문제 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 풀이 const readFileSyncAddress = '/dev/stdin'; const fs = require('fs'); let [T, ...testCases] = fs .readFileSync(readFileSyncAddress) .toString() .trim() .replaceAll(/\r/g, '') .split(/\n/g); T = Number(T); const solution = function (T, testCases) { fo..
[알고리즘]백준 2869번: 달팽이는 올라가고 싶다 W_node.js
문제 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B +v); const solution = function (up, dn, h) { let max = (up - dn) * (h / (up - dn)) - dn; return Math.ceil(max / (up - d..