프로그래머스(3)
-
[프로그래머스 > 해시] 베스트 앨범
프로그래머스 문제 읽을 때면 종종 읽어도 읽은 것 같지 않은 느낌이 들 때가 많다.ㅎㅎ 많이 풀어보면 쉬워지겠지..ㅎㅎ흑 문제) 과정) 첫번째, 스트리밍 총합이 큰 장르 순으로 내림차순 정렬 되어야 하고, 두번째, 각 장르별 스트리밍 수가 많은 노래를 내림차순 정렬 세번째, 정렬된 상태에서 각 장르별로 노래 두개를 뽑아야 한다. 장르에 노래가 하나 뿐일 경우 하나만 뽑는다. 총 반환되는 값은 장르*2 ( - 알파)가 된다. 내가 재출한 해설) function solution(genres, plays) { let answer = []; let genres_ = Array.from(new Set(genres)); //중복 제거한 장르만 모아놓음 let target = []; genres_.forEach((g..
2020.06.23 -
[ 프로그래머스 > 정렬 ]H-Index
문제 이해하기) 배열 안의 각 요소를 elem이라고 할 때 elem은 각 논문의 인용 횟수를 말하는데, elem이 h보다 작거나 같을 때는 elem값을, elem이 h보다 클 때는 h값을 h-index값으로 넣어야 한다. 이렇게 각 논문 마다의 h-index 값을 구한 뒤, 이 h-index값들 중 가장 큰 값을 최종 h-index값으로 반환해야 함. (문제에서 "나머지 논문이 h번 이하 인용"이 말은 h값이 될 수 있는 수중 가장 작은 수가 h가 되고, 이렇게 결정 된 h들 중에서 최댓값이 되어야 한다는 뜻이다. ) 위의 예제를 예로들면 citations = [3,0,6,1,5]; //elem === 3 이면 h는 3,6,5로 3 elem === h 즉 3을 반환 //elem === 0 이면 h는 0,..
2020.04.25 -
[ 프로그래머스 > 해시] 완주하지 못한 선수
나의 첫번째 제출 코드 오답. function solution(participant, completion){ let answer = participant; completion.forEach((val,idx) => { participant.splice(participant.indexOf(val),1)[0] }); answer = participant[0] return answer; } 조급하게 이어진 시도들에서도 반복을 여러번 쓰는 for + 탐색() + splice로 데이터 삭제하는 방법을 버리지 못했다. 사실 뭐가 문제인지 잘 몰랐다. 나의 두번째 제출 코드 오답. function solution(participant, completion){ let answer =''; for(let i of comp..
2020.04.23