ALGORITHM TRACK
알고리즘별 코테
문자열, 배열, 해시, prefix sum 같은 유형 중심으로 자바스크립트 알고리즘 문제를 반복 연습할 수 있는 카테고리입니다. 코딩테스트에서 자주 나오는 패턴을 유형별로 익히기에 좋습니다.
다루는 주제
현재 알고리즘 트랙에서 자주 다루는 주제들입니다.
여러 정렬 목록에서 k번째 작은 수
오름차순으로 정렬된 정수 목록 여러 개가 주어질 때, 전체 값을 하나로 모았다고 가정했을 때 k번째로 작은 수를 반환하는 solution 함수를 작성하세요.
겹치지 않게 고르는 최대 세션 수
세션 시간 구간이 담긴 배열 sessions가 주어질 때, 서로 겹치지 않게 참석할 수 있는 세션의 최대 개수를 반환하는 solution 함수를 작성하세요.
모든 정류장 쌍의 최소 이동 요금
정류장 개수 n과 단방향 이동 요금 정보 fares가 주어질 때, 모든 출발 정류장에서 모든 도착 정류장까지 가는 최소 요금을 2차원 배열로 반환하는 solution 함수를 작성하세요.
배열을 정렬하려면 손봐야 할 가장 짧은 구간
정수 배열 nums가 주어질 때, 그 구간만 오름차순으로 정렬하면 배열 전체가 오름차순이 되도록 만드는 가장 짧은 연속 구간의 길이를 반환하는 solution 함수를 작성하세요.
정해진 날짜 안에 보내는 최소 배송 용량
상자 무게가 순서대로 담긴 배열 weights와 남은 날짜 수 days가 주어질 때, 상자의 순서를 바꾸지 않고 days일 안에 모두 보내기 위해 필요한 하루 최소 배송 용량을 구하세요.
겹치는 구간 한 번에 합치기
문제 설명 숫자 구간 목록 ranges가 주어질 때, 서로 겹치거나 끝점에서 맞닿아 있는 구간들을 합친 뒤 새로운 구간 목록을 반환하는 solution 함수를 작성하세요.
두 팀으로 충돌 없이 나누기
문제 설명 n명의 참가자와 서로 같은 팀이 될 수 없는 관계 edges가 주어질 때, 모든 참가자를 두 팀으로 나누어 모든 충돌 관계가 서로 다른 팀 사이에만 놓이게 만들 수 있는지 반환하는 solution 함...
문자가 겹치지 않게 나누는 최대 구간 길이들
문자열을 서로 겹치지 않는 최대 개수의 연속 구간으로 나누되, 같은 문자가 두 개 이상의 구간에 걸쳐 나타나지 않도록 만드는 문제입니다.
목표 금액을 만드는 최소 동전 수
문제 설명 동전 단위 배열 coins와 목표 금액 target이 주어집니다. 각 동전은 원하는 만큼 여러 번 사용할 수 있을 때, 정확히 target원을 만들기 위해 필요한 최소 동전 개수를 반환하는 minim...