본문 바로가기

자바스크립트 63

[프로그래머스] 2018 KAKAO > 뉴스 클러스터링 - 자바스크립트 [ 문제 설명 ] 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr [ 아이디어 ] 대소문자를 구별하지 않는 조건을 위해 소문자로 전체 문자열 변경 각각의 문자열에서 2개씩 읽어가면서 조건 "알파벳으로만 이루어짐"에 따라 정규식만들고 아닌것은 쳐냄(각각 A, B 집합) 자카드 유사도를 위해 합집합과 교집합을 구하는데, A 기준으로 B에도 있는건 교집합(Intersection), 그리고 B에서 제거 자카드 유사도 식 ( 교집합 / 합집합)에 넣고 처리. [ 코드 ] function solut.. 2021. 8. 30.
[프로그래머스] 위클리 챌린지 > 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.