카카오 3

[프로그래머스] 캐시 (JS)

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이  (1) 캐시 배열을 생성한다.  (2) 캐시에 들어 있지 않은 도시는 실행 시간 5초를 더해주고, 캐시의 가장 최근 사용한 위치에 추가한다. 캐시 사이즈 초과를 막기 위해 가장 오랫동안 사용되지 않은 항목을 우선적으로 제거한다.  (3) 캐시에 들어 있는 도시는 실행 시간 1초를 더해주고, 캐시의 가장 최근 사용한 위치에 추가한다.function solution(cacheSize, cities) { if (cacheSize === 0) return cities.length * 5; const cache = []; let ..

코딩테스트 2024.11.24

[프로그래머스] 가장 많이 받은 선물 (JS)

문제https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 (1) 주고 받은 선물과 선물 지수를 객체로 생성 후 셋팅한다. (2) 준 사람의 선물 갯수와 받은 사람의 선물 갯수를 비교하기 위해 배열로 변환 후 반복문을 실행한다. (3) 준 선물과 받은 선물의 갯수를 비교하여 A가 받을 선물의 개수를 1씩 늘린다. (4) 주고 받은 선물 갯수가 같을 경우 앞서 생성해 둔 선물 지수로 비교한다. (5) 최종적으로 가장 많은 선물을 받는 사람의 선물 갯수를 return한다.function..

코딩테스트 2024.11.23

[프로그래머스] 뉴스 클러스터링 (JS)

문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이  (1) 비교할 문자열을 소문자로 통일시킨 후 알파벳으로만 이루어진 문자열인지 검사하여 배열에 push한다.  (2) 배열의 filter 메서드와 concat 메서드를 사용하여 교집합, 합집합을 구한다. temp 배열 생성 후 교집합에 포함된 문자열은 제거한다. (합집합을 구할 때 중복 문자열이 들어가는 것을 방지하기 위해)   (3) 문제 조건에 맞게 65536을 곱한 후에 소수점 아래를 버리고 정수만 return한다.function solution(str1, str2) { const leftStr = []; const rightSt..

코딩테스트 2024.11.03