본문 바로가기

알고리즘7

[프로그래머스/자바스크립트] 정렬_K번째수 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 첫번째 풀이 (일부 케이스 틀림) function solution(array, commands) { var answer = []; commands.forEach((cmd) => { var start = cmd[0]; var end = cmd[1]; var num = cmd[2]; var target = array.slice(start - 1, end).sort()[num - 1]; answer.push(target); }); r.. 2021. 11. 19.
[프로그래머스/자바스크립트] 스택/큐_프린터 https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 첫번째 풀이 (실패~~) function solution(priorities, location) { var answer = 0; var maxPriority = Math.max(...priorities); var maxLocation = priorities.indexOf(maxPriority); if (location == maxLocation) { answer =.. 2021. 11. 10.
[프로그래머스/자바스크립트] 스택/큐_기능개발 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr function solution(progresses, speeds) { // {'기능 번호': 필요작업일수} 형식으로 객체 만들기 var days = {}; for (var i = 0; i < progresses.length; i++) { days[i] = Math.ceil((100 - progresses[i]) / speeds[i]); } //현재까지의.. 2021. 11. 9.
[프로그래머스/자바스크립트] 해시 - 베스트앨범 첫번째 풀이 - 실패~~~ function solution(genres, plays) { var answer = []; var songs = []; genres.map((genre, index) => { var obj = {}; obj["index"] = index; obj["genre"] = genre; obj["plays"] = plays[index]; songs.push(obj); }); songs.sort((a, b) => { return b["plays"] - a["plays"]; }); var album = {}; var countByGenre = songs.reduce((obj, song) => { obj[song["genre"]] = (obj[song["genre"]] || 0) + 1; .. 2021. 11. 8.
[프로그래머스/자바스크립트] 해시 - 위장 https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr function solution(clothes) { var obj = clothes.reduce((accObj, [clothes, category]) => { accObj[category] = (accObj[category] || 0) + 1; return accObj; }, {}); var categoryList = Object.values(obj); var result = 1; categoryList.forEach((num) => { result *= num + 1; }); return result - 1; } - 처음에 못 풀었었다. 코드가 .. 2021. 11. 4.
[프로그래머스/자바스크립트] 해시 - 완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 첫번째 풀이 function solution(participant, completion) { completion.forEach((racer) => { var idx = participant.indexOf(racer); participant.splice(idx, 1); }); var answer = participant[0]; return an.. 2021. 11. 3.