본문 바로가기

Study Note/Algorithm16

728x90
프로그래머스 #정렬 - K번째수 lv1 function solution(array, commands) { //variables init let i, len = commands.length, command, answer = []; for(i=0; i a - b); //result set answer.push(command[commands[i][2]-1]) } return answer; } javascript 의 sort() 함수에 대한 기본기를 확인하는 문제였다. slice 한 배열을 정렬하기 위해 sort를 하는 경우 array.sort() 이렇게 쓰면 숫자가 문자열로 인식되어 1, 12, 2 순으로 정렬되게 된다. (기대값은 1, 2, 12) 숫자로 인식되게 하려면 어떻게 해야할까? 모질라 사이트에선 다양한 방법을 친절하게 알려주고 있다. .. 2021. 1. 20.
프로그래머스 #해시 - 베스트앨범 lv3 코딩테스트 연습 문제 한바퀴 돌고 돌아오면 리펙토링이 시급하다 ㅠ.ㅠ 결과가 맞더라도 더 나은 코드를 위해 연구를! function solution(genres, plays) { let answer = []; const len = genres.length; //노래갯수 const genresList = (function () { //고유번호 순서대로 한 리스트에 담기 const result = []; for(let i=0; i 2021. 1. 16.
프로그래머스 #스택/큐 - 기능개발 lv2 /** * @params progresses 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 * @params speeds 각 작업의 개발 속도가 적힌 정수 배열 speeds */ function solution(progresses, speeds) { let answer = []; let progressesStack = [...progresses]; let len = progresses.length; let days = 0; //경과일 for(let i=0; i progres) { progres += speeds[i]; //100이상이 될때까지 더함. days++; //하루가 지남. } } } return answer; } 2021. 1. 16.
프로그래머스 #해시 - 위장 lv2 function solution(clothes) { let clothesKeys = []; //의상이름 ['a', 'b', ...] //1. 의상 이름 담기 for(let i=0; ik==key)) { clothesKeys.push(key); } } } //2. 다른 조합의 수 구하기 // 다른 조합의 수 = key 갯수 + (keys의 key.length 들을 곱한 수) let resultCnt = 0; if(clothesKeys.length==1) { return clothes.length; } else { for(let i=0; iclo[1]==clothesKeys[i]).length; cnt = cnt+1; //선택안함 경우의수 추가 if(resultCnt==0) { resultCnt = cnt;.. 2021. 1. 10.
프로그래머스 #해시 - 완주하지 못한 선수 lv1 1차 시도 실행결과 시간 초과로 효율성 테스트를 모두 실패하였다 ㅠㅠ .length 와 같은 코드를 변수로 따로 빼고 속도 줄이기 시도! /** * @description 완주하지 못한 선수의 이름을 조회하는 함수 * @params participant : 마라톤에 참여한 선수들 * @params completion : 마라톤을 완주한 선수들 * @return answer : 완주하지 못한 선수의 이름 */ function solution(participant, completion) { let answer = ''; let partList = participant; //미완주 선수만 남겨둘 변수 선언 //완주한 선수의 이름을 참여선수 목록 partList에서 제외합니다. for(let i=0; i p==.. 2020. 10. 16.
Algorithm #순열 알고리즘 순열 알고리즘 Permutation Algorithm (1) 순열 서로 다른 n개에서 r( 0 1*1 + 2*2 = 5 결과값② : A{1, 2}, B{2, 1} =>.. 2019. 8. 19.