본문 바로가기

프로그래머스 42

[프로그래머스] 위클리 챌린지 > 4주차 - 자바스크립트 [ 문제 설명 ] 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr [ 아이디어 ] 총합을 key, 해당 직군 배열을 value로 하는 scoreMap을 활용. 언어점수 table를 순회하면서 점수를 구하고 scoreMap에 넣는다. 편이성을 위해 가장 큰 점수 maxScore를 별도로 들고 있다가 마지막에 key로 조회하고 같은 점수일 경우를 위해 sort를 한다. [ 코드 ] function solution(table, languages, preference) { var answer = ""; let pre.. 2021. 8. 23.
[프로그래머스] 위클리 챌린지 > 2주차 - 자바스크립트 [ 문제 설명 ] 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr [ 아이디어 ] 이번 문제는 로직에 따라 천천히따라가며 구현하는 문제였다. 따라서 각 로직별 함수를 나눠서 구현하는게 좋을 것같다. 2차원 배열에서 특정 학생의 성적만 가져오기 최소, 최대값을 고려하여 평균값 가져오기 평균값으로 점수구하기 성적 합치기 [ 코드 ] function solution(scores) { let answer = ''; scores.forEach((item, i.. 2021. 8. 17.
[프로그래머스] 위클리 챌린지 > 1주차 - 자바스크립트 [ 문제 설명 ] 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr [ 아이디어 ] 생각의 흐름대로 한번 탈때마다 매번 증가된 가격을 더하여 비교하는 방법 가우스의 일화를 토대로 빠르게 구하는 방법 원래라면 1번으로 구현을 해본 다음에 2번으로 넘어가는 흐름을 코테를 연습해봤겠지만 이번엔 바로 2번 아이디어로 구현을 해보았다. [ 코드 ] function solution(price, money, count) { let answer = -1; let total = count * ( count + 1) .. 2021. 8. 17.
[프로그래머스] 연습문제 > 숫자의 표현 - 자바스크립트 문제 설명 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr [ 아이디어 ] 2중 for문으로 돌면서 앞에서부터 하나씩 더해서 목표(n)과 같으면 answer에 1를 추가하고 이때 합이 n보다 넘기면 효율성 테스트를 위해 break로 이후 계산을 제거한다. [ 코드 ] function solution(n) { let answer = 1; for(let i =1; i n) break; 를 하지 않으면 효율성테스트에서 다 터진다. 2021. 6. 14.