문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 중복된 요소의 갯수를 측정하기 위해 Map객체를 이용해 10일 동안 할인하는 물품들의 갯수를 측정한다. 이때 측정된 할인 물품 갯수와 원하는 물품의 갯수를 대조해 모두 같다면 answer에 1을 더한다. 코드 const solution = (want, number, discount) => { let answer = 0; const check = (arr) => { le..
코딩 테스트/프로그래머스 코딩 테스트 연습
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 배열 food의 index 값이 음식의 칼로리고, 값은 그 음식의 갯수이다. 음식의 갯수는 무조건 짝수로되어 물의 기준으로 양 옆에 같은 수의 음식을 놓을 수 있어야 한다. 음식의 갯수가 홀수인 경우는 1개를 빼주어 짝수로 만들고 양 옆에 동일한 갯수로 위치시킨다. 또한 음식의 갯수가 1인 경우는 사용하지 않는다. 한쪽에 놓을 수 있는 food[i]의 갯수를 구한 다음..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/17680# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 LRU알고리즘은 오래된 캐시를 밀어내며 새로운 캐시를 받는 방식이다. hit를 하게되면 hit한 요소를 cache의 가장 마지막(tail)에 위치해야한다. (추가적인 설명: https://dailylifeofdeveloper.tistory.com/355) 그렇다면 이 문제는 cache라는 배열을 만들고 LRU를 구현할 수 있게 해준다. 코드 function soluti..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제는 수학적으로 접근해야 하는 문제인거 같다... 우선 주어지는 차량의 진입, 나간 지점을 진입한 지점을 기준으로 정렬해준다. 그리고 첫번째 나가는 지점의 기준을 잡아준다(첫번째 차량의 나가는 지점) 이렇게 잡은 기준을 가지고 다음에 오는 차량의 나가는 점을 비교해준다. 여기서 이전 차량의 나가는 점이 다음 차량이 나가는 점보다 큰 경우, 즉 이전 차량이 더 나중에..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제는 행렬의 곱 공식을 알아야 풀이가 가능하다. https://mathbang.net/562#gsc.tab=0 행렬의 곱셈, 행렬의 거듭제곱 행렬의 곱셈은 행렬의 실수배에 비하면 훨씬 어려워요. 행렬을 곱할 수 있는 조건이 있어 이 조건을 만족하지 않으면 곱셈을 하지 못하는 경우도 있어요. 게다가 계산방식도 매우 까다롭죠. 도 mathbang.net 코드 funct..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 문제는 맨 나중에 나오는 결과를 출력하면 되므로 다시 들어왔을 때와 이름을 바꿀때 이름이 바뀌기에 Map객체를 이용해 최종적으로 모두 바뀐 이름을 Map에 저장해 둔뒤 사용한다. 코드 const solution = (record) => { let answer = []; let len = record.length; let input = record.map(e => e.sp..