https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 해결방법 1. 아이디별 가장 마지막 Enter 또는 Change를 찾고 해당 닉네임을 매핑시켜 map에 저장한다. 2. records의 닉네임들을 마지막 닉네임으로 모두 변경한다. 3. action이 Enter와 Change일 때 각 메세지를 answer에 push하고 answer를 출력한다. 🔑 풀이 function solution(record) { let answer = []; let re..
https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 🤔 해결방법 1. 0이 들어있지 않거나 모든 자리수의 합이 3의 배수가 아니면 -1을 출력한다. 2. 그렇지 않으면 숫자를 내림차순으로 정렬하여 출력한다. 🔑 풀이 const input = require("fs") .readFileSync("/dev/stdin") .toString() .trim() .split("\n"); const number = input[0]; const numberSplit..
https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 🤔 해결방법 1. 가지고 있는 숫자의 중복을 제거한다. 2. 만들어야 할 숫자에서 뺀 값이 들어있고 같은 숫자를 두 번 사용하지 않는 경우에만 answer+1을 한다. 🔑 풀이 const input = require("fs") .readFileSync("/dev/stdin") .toString() .trim() .split("\n"); con..
https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 해결방법 1. 기능별로 완료되기까지 필요한 날 needDay를 구한다. 2. needDay의 각 요소를 비교하며 동일한 날짜에 완료되는 기능 수를 구해 baepo에 추가한다. 🔑 풀이 function solution(progresses, speeds) { let needDay = []; //기능별로 완료되기까지 필요한 날 let baepo = []; //기능별로 완료되기까지 필요한 날 구하기 ..
https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 해결방법 1. 튜브가 말해야하는 숫자가 t이고 참가 인원이 m이므로 총 인원이 말해야 하는 숫자인 t * m까지 0부터 n진법으로 바꾼다. 2. 인원수인 m개씩 자르고 튜브의 순서인 p번째 것만 모아서 출력한다. 🔑 풀이 function solution(n, t, m, p) { //numbers = n진법으로 바꾼 수 let numbers = ''; let i = 0; while (number..
https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,0 www.acmicpc.net 🤔 해결방법 1. 상근이가 가지고 있는 숫자들을 haveNumber에, 몇 개 가지고 있는지 체크할 숫자를 checkNumber에 넣는다. 2. haveNumber의 숫자 각각의 개수를 object 객체에 담는데 이미 있으면 value+1, 없으면 1을 value로 넣는다. 3. checkNumber에 담긴 숫자가 object에 있으면 그 개수를, 없으면 0을 ..
https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 해결방법 1. elements의 길이만큼 요소들을 차례로 묶어 더한다. 만약 인덱스가 배열의 길이를 넘어가면 인덱스를 순환시킨다. 2. 중복 아닌 것만 result에 추가하고 result의 사이즈를 출력한다. 🔑 풀이 function solution(elements) { const result = new Set(); //i는 묶을 요소의 개수 for (let i = 1; i
https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 해결방법 1. n을 k진수로 변환한다. 2. 소수의 각 자리에 0이 포함되지 않으므로 0을 기준으로 자른다. 3. 각 숫자가 소수이면 primeCount +1을 한다. 🔑 풀이 //소수 판별 function isPrime(num) { if (num