문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이 문제와 같이 큰 범위내에서 특정 조건을 만족하는 최소값 혹은 최대값을 찾는 탐색 문제의 경우 완전 탐색을 진행하면 시간초과가 발생할 수 있기에 이분탐색 알고리즘을 이용해 풀이해야 한다. 사실 이 문제는 이분탐색 알고리즘만 잘 구현하면 어려운 부분은 없다. 그나마 문제를 틀렸을 경우 시간을 더해주는 로직 구현에 시경을 써야 한다는 점 빼면 그렇게 어려운 문제는 아닌것같다. 코드const solution = (diffs, times, limit) => { let [lp, rp] = [1, diffs.r..
코딩 테스트/프로그래머스 코딩 테스트 연습
문제https://school.programmers.co.kr/learn/courses/30/lessons/150369?language=javascript 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이번 문제는 단순한 수학을 통해 풀 수 있는 문제다. 문제를 파악해 보면, 결국 맨 끝 집은 찍어야 하므로 필자는 맨 끝집부터 탐색을 시작했다. 끝에서 부터 배달 및 수거한 갯수를 측정해 이 값들이 모두 양수일 때 까지 cap 만큼 더해주는 과저을 반복한다. 코드function solution(cap, n, deliveries, pickups) { le..
문제https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이그냥 일반적인 BFS 문제로 처음 파악을 했다. 근데 풀어보니 틀리기도 했고 효율성 검사도 통과하지 않았다.const bfs = (arr, x) => { const start = Array.from({length: arr.length}, (_, i) => [i, x]); for(let i = 0; i = 0 && ny >= 0 && nx 1) continue; ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이문제를 풀이할 때 Map 객체를 이용해 사람들의 입력 데이터를 key로, 점수를 value로 Map객체에 저장했다. 물론 같은 조건에 다른 점수를 갖는 사람들이 있을 수 있으니 배열에 추가하는 형식으로 진행했다. 이후 검색 조건에 맞는 사람들의 수를 구할 때 일반적인 탐색을 진행하게 되면 시간초과가 발생할 수 있으니 이진탐색 알고리즘을 이용해 해당 조건의 점수들 중 결과로 만족하는 값을 탐색..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이완전 탐색으로 라이언이 쏠 수 있는 모든 조합을 구했다. 구한 조합을 이용해 피치가 쏜 결과와 비교하며 최종 점수 차이를 계산해야 한다. 이때 얻은 점수 차이를 이용해 결과를 도출해야 하는데, 주의해야할 점들이 몇가지 있다.첫 번째로 피치가 더 많은 점수를 얻거나 동점이면 피치의 승리이다. 두 번째, 라이언이 더 많은 점수를 얻는 조합 중 가장 낮은 점수를 더 많이 맞힌 경우를 리턴해야한다. 나는 두 번째 경우를 구현하는 것을 잊고 재출했다가 틀린 경험을 했다...... 코드const getComb =..
문제https://school.programmers.co.kr/learn/courses/30/lessons/160585 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이번 문제는 조건만 잘 찾아내면 간단한 구현 문제이다. 이 문제에서 답이 1이 나오는 경우는 다음과 같다.O의 개수가 X의 수 보다 1 크며 O 빙고가 X 빙고 보다 많을 때, O의 개수가 X 개수와 같고 X 빙고가 더 많을 때, O 빙고와 X 빙고의 수가 0이고 O의 수가 X 보다 1클 때 이다. 중의해야할 점은 직선 뿐만 아니라 대각선으로도 빙고가 완성될 수 있으며, 틱택토 게임은 이기..