JS
-
문제 이름 : [3차] 파일명 정렬 function solution(files) { let regex = /\d{1,5}/; files.sort((a, b)=> { let aNumber = a.match(regex); let bNumber = b.match(regex); let aHead = a.split(aNumber)[0].toLowerCase(); let bHead = b.split(bNumber)[0].toLowerCase(); // localeCompare로 사전순 정리하고, 같으면 0나오니 // 위에서 찾아놓은 숫자대로 정렬 const compare = aHead.localeCompare(bHead); return compare === 0 ? aNumber-bNumber : compare; }..
[Programmers] [3차] 파일명 정렬 문제 - (javascript)문제 이름 : [3차] 파일명 정렬 function solution(files) { let regex = /\d{1,5}/; files.sort((a, b)=> { let aNumber = a.match(regex); let bNumber = b.match(regex); let aHead = a.split(aNumber)[0].toLowerCase(); let bHead = b.split(bNumber)[0].toLowerCase(); // localeCompare로 사전순 정리하고, 같으면 0나오니 // 위에서 찾아놓은 숫자대로 정렬 const compare = aHead.localeCompare(bHead); return compare === 0 ? aNumber-bNumber : compare; }..
2022.02.01 -
문제 이름 : [3차] 방금그곡 function solution(m, mi) { let answer =[]; // 샵들 소문자로 변경해서 1칸만 차지하게끔 변경 const toReplace = (value) => { return value.replace(/C#/g,'c') .replace(/D#/g,'d') .replace(/F#/g,'f') .replace(/G#/g,'g') .replace(/A#/g,'a'); } // 12:04 같은 것을 분으로 바꾸기 const timeToSecond = (time) => { time = time.split(':').map(Number); return time[0]*60+time[1]; } // 분으로 바꾼 시간 빼서 재생된 시간 구하는 함수 const divid..
[Programmers] [3차] 방금그곡 문제 - (javascript)문제 이름 : [3차] 방금그곡 function solution(m, mi) { let answer =[]; // 샵들 소문자로 변경해서 1칸만 차지하게끔 변경 const toReplace = (value) => { return value.replace(/C#/g,'c') .replace(/D#/g,'d') .replace(/F#/g,'f') .replace(/G#/g,'g') .replace(/A#/g,'a'); } // 12:04 같은 것을 분으로 바꾸기 const timeToSecond = (time) => { time = time.split(':').map(Number); return time[0]*60+time[1]; } // 분으로 바꾼 시간 빼서 재생된 시간 구하는 함수 const divid..
2022.02.01 -
문제 이름 : k진수에서 소수 개수 구하기 function solution(n, k) { const isPrime = (num) => { if (num === 1) return false; if (num === 2) return true; for (let i = 2; i*i el.length !== 0) // 000 처럼 연속적인 경우 빈 배열이 나오기때문에 제거 .filter((el) => sosu(Number(el))).length; // 남은 판별을 위한 수들을 함수를 이용해 정리 } * 특정 수가 소수인지를 구하는 문제는 위의 isPrime 방식으로 구하면 제일 빠르게 구할 수 있고 특정 수 까지 소수인지를 구하는 방법은 에라토스테네스의 체를 이용하면 된다. -> 에라토스테네스의 체란? 2부터 소..
[Programmers] k진수에서 소수 개수 구하기 문제 - (javascript)문제 이름 : k진수에서 소수 개수 구하기 function solution(n, k) { const isPrime = (num) => { if (num === 1) return false; if (num === 2) return true; for (let i = 2; i*i el.length !== 0) // 000 처럼 연속적인 경우 빈 배열이 나오기때문에 제거 .filter((el) => sosu(Number(el))).length; // 남은 판별을 위한 수들을 함수를 이용해 정리 } * 특정 수가 소수인지를 구하는 문제는 위의 isPrime 방식으로 구하면 제일 빠르게 구할 수 있고 특정 수 까지 소수인지를 구하는 방법은 에라토스테네스의 체를 이용하면 된다. -> 에라토스테네스의 체란? 2부터 소..
2022.01.31 -
문제 이름 : 스킬트리 function solution(skill, skill_trees) { let answer = 0; let regex = new RegExp(`[^${skill}]`, 'g'); return skill_trees.map((el)=>el.replace(regex, '')) .filter((el)=> skill.substring(0, el.length)=== el).length; } * 처음 문제를 보고 백트래킹으로 풀수있을거 같다는 생각에 시도하였다가 skill이 C,B만있을때도 가능해야 한다는 것을 간과했다. 또 스킬이 26개짜리일 때, 시간이 어마어마하게 들어간다. 따라서 정규식으로 풀어보자 생각했는데.. 막혀버렸다.. 검색끝에 skill이 아닌 값들을 ''로 replace하는 ..
[Programmers] 스킬트리 문제 - (javascript)문제 이름 : 스킬트리 function solution(skill, skill_trees) { let answer = 0; let regex = new RegExp(`[^${skill}]`, 'g'); return skill_trees.map((el)=>el.replace(regex, '')) .filter((el)=> skill.substring(0, el.length)=== el).length; } * 처음 문제를 보고 백트래킹으로 풀수있을거 같다는 생각에 시도하였다가 skill이 C,B만있을때도 가능해야 한다는 것을 간과했다. 또 스킬이 26개짜리일 때, 시간이 어마어마하게 들어간다. 따라서 정규식으로 풀어보자 생각했는데.. 막혀버렸다.. 검색끝에 skill이 아닌 값들을 ''로 replace하는 ..
2022.01.31 -
문제 번호 : 1351 번 문제 바로가기 ☞ https://www.acmicpc.net/problem/1351 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().trim().split("\n"); let [N, P, Q] = input[0].split(" ").map(Number); let savedArr = {}; savedArr[0] = 1; const solution = (index) => { if (index < 0) { return; } const left = Math.flo..
[BaekJoon] 1351 번 무한 수열 문제 - (nodejs)문제 번호 : 1351 번 문제 바로가기 ☞ https://www.acmicpc.net/problem/1351 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().trim().split("\n"); let [N, P, Q] = input[0].split(" ").map(Number); let savedArr = {}; savedArr[0] = 1; const solution = (index) => { if (index < 0) { return; } const left = Math.flo..
2022.01.30 -
문제 이름 : 주차 요금 계산 문제의 내용이 굉장히 길기 때문에 https://programmers.co.kr/learn/courses/30/lessons/92341 을 참고하세요. function solution(fees, records) { let answer = []; const toMinute = (index) => { index = index.split(':').map(Number); return index[0]*60+index[1]; } let carInfo = {}; let allPkTime = {}; records.map((el, i)=>{ let info = el.split(' '); if(info[2] === 'IN'){ carInfo[info[1]] = info[0]; }else{ c..
[Programmers] 주차 요금 계산 문제 - (javascript)문제 이름 : 주차 요금 계산 문제의 내용이 굉장히 길기 때문에 https://programmers.co.kr/learn/courses/30/lessons/92341 을 참고하세요. function solution(fees, records) { let answer = []; const toMinute = (index) => { index = index.split(':').map(Number); return index[0]*60+index[1]; } let carInfo = {}; let allPkTime = {}; records.map((el, i)=>{ let info = el.split(' '); if(info[2] === 'IN'){ carInfo[info[1]] = info[0]; }else{ c..
2022.01.29