프로그래머스
-
문제 이름 : 보석 쇼핑 function solution(gems) { let answer = []; const gemCount = new Set(gems).size; let gemMap = new Map(); gems.map((el, i)=>{ gemMap.delete(el); gemMap.set(el, i); if(gemMap.size === gemCount){ answer.push([gemMap.values().next().value+1, i+1]); } }) answer.sort((a, b)=>{ if(a[0]-a[1] < b[0]-b[1]) return 1; else if(a[0]-a[1] === b[0]-b[1]){ return a[0]-b[0]; }else return -1; }); retu..
[Programmers] 보석 쇼핑 문제 - (javascript)문제 이름 : 보석 쇼핑 function solution(gems) { let answer = []; const gemCount = new Set(gems).size; let gemMap = new Map(); gems.map((el, i)=>{ gemMap.delete(el); gemMap.set(el, i); if(gemMap.size === gemCount){ answer.push([gemMap.values().next().value+1, i+1]); } }) answer.sort((a, b)=>{ if(a[0]-a[1] < b[0]-b[1]) return 1; else if(a[0]-a[1] === b[0]-b[1]){ return a[0]-b[0]; }else return -1; }); retu..
2022.02.03 -
문제 이름 : 경주로 건설 https://programmers.co.kr/learn/courses/30/lessons/67259# 문제가 굉장히 길어 링크를 첨부합니다. function solution(board) { let boardLen = board.length; const dy = [-1, 1, 0, 0]; const dx = [0, 0, -1, 1]; const bfs = (y, x, dir, money) => { let queue = [[y, x, dir, money]]; while (queue.length > 0) { [y, x, dir, money] = queue.shift(); for (let i = 0; i < 4; i++) { const nY = y + dy[i]; const nX =..
[Programmers] 경주로 건설 문제 - (javascript)문제 이름 : 경주로 건설 https://programmers.co.kr/learn/courses/30/lessons/67259# 문제가 굉장히 길어 링크를 첨부합니다. function solution(board) { let boardLen = board.length; const dy = [-1, 1, 0, 0]; const dx = [0, 0, -1, 1]; const bfs = (y, x, dir, money) => { let queue = [[y, x, dir, money]]; while (queue.length > 0) { [y, x, dir, money] = queue.shift(); for (let i = 0; i < 4; i++) { const nY = y + dy[i]; const nX =..
2022.02.01 -
문제 이름 : [3차] n진수 게임 function solution(n, t, m, p) { let answer = ''; let str = ''; let num = 0; while(str.length
[Programmers] [3차] n진수 게임문제 - (javascript)문제 이름 : [3차] n진수 게임 function solution(n, t, m, p) { let answer = ''; let str = ''; let num = 0; while(str.length
2022.02.01 -
문제 이름 : [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 -
문제 이름 : 주차 요금 계산 문제의 내용이 굉장히 길기 때문에 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 -
문제 번호 : 5397 번 문제 바로가기 ☞ https://www.acmicpc.net/problem/5397 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(filePath).toString().trim().split('\n'); const L = Number(input[0]); for(let i=1; i0) front.push(back.pop()); break; case '-': if(front.length>0) front.pop(); break; default: front.push(text[j]); break; }..
[BaekJoon] 5397 번 키로거 문제 - (nodejs)문제 번호 : 5397 번 문제 바로가기 ☞ https://www.acmicpc.net/problem/5397 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(filePath).toString().trim().split('\n'); const L = Number(input[0]); for(let i=1; i0) front.push(back.pop()); break; case '-': if(front.length>0) front.pop(); break; default: front.push(text[j]); break; }..
2022.01.05