TODAY TRACK
오늘의 코테
오늘 바로 풀어볼 수 있는 자바스크립트 코딩테스트 문제를 모아둔 카테고리입니다. 짧게 한 문제 풀고 감각을 깨우는 데 초점을 둔 트랙이라 부담 없이 시작하기 좋습니다.
양끝 숫자쌍 중 가장 큰 합
정수 배열 nums가 주어질 때, 맨 앞 수와 맨 뒤 수를 한 쌍으로 묶고 그 합을 구합니다. 그다음 두 번째 수와 뒤에서 두 번째 수도 같은 방식으로 묶습니다. 이렇게 만든 쌍들 중 가장 큰 합을 반환하는 s...
로봇의 마지막 방향
로봇은 처음에 북쪽(N)을 바라보고 있습니다. 회전 명령이 순서대로 담긴 배열 commands가 주어질 때, 모든 명령을 처리한 뒤 로봇이 바라보는 최종 방향을 반환하는 solution 함수를 작성하세요.
쿠폰 코드 연쇄 정리
문자열 code가 주어질 때, 서로 같은 문자가 연속으로 붙어 있으면 즉시 함께 제거되는 규칙을 반복 적용한 뒤 최종적으로 남는 문자열을 반환하는 solution 함수를 작성하세요.
정확히 K종류 상품이 있는 가장 긴 진열 구간
상품 이름이 담긴 배열 items와 정수 k가 주어질 때, 서로 다른 상품 종류가 정확히 k개인 연속 구간 중 가장 긴 구간의 시작 인덱스와 끝 인덱스를 반환하는 solution 함수를 작성하세요.
모든 배지를 담는 가장 짧은 구간
배지 기록 배열 badges가 주어질 때, 배열에 등장한 모든 종류의 배지를 한 번 이상 포함하는 가장 짧은 연속 구간을 찾는 solution 함수를 작성하세요.
가장 큰 활성 직사각형 구역
0과 1로 이루어진 격자 grid가 주어질 때, 모든 칸이 1인 축에 평행한 직사각형 중 넓이가 가장 큰 값을 반환하는 solution 함수를 작성하세요.
무료 패스 한 번으로 가는 최소 비용 경로
도시를 이동하는 동안 도로 하나에만 무료 패스를 사용할 수 있을 때, 출발점에서 도착점까지의 최소 비용을 구하는 solution 함수를 작성하세요.
더 따뜻한 날까지의 거리
정수 배열 temperatures가 주어질 때, 각 날마다 자신보다 더 따뜻한 날이 몇 일 뒤에 오는지를 담은 배열을 반환하는 solution 함수를 작성하세요. 이후에 더 따뜻한 날이 없다면 그 자리는 0이어...
서버 종료 뒤 활성 네트워크 개수
n개의 서버와 양방향 연결 정보 edges, 그리고 순서대로 종료할 서버 번호가 담긴 shutdownOrder가 주어질 때, 각 종료 직후 남아 있는 활성 서버들끼리 이루는 연결 네트워크의 개수를 반환하는 so...
비트 OR 임계치를 넘는 가장 짧은 구간
0 이상의 정수 배열 nums와 목표값 target이 주어질 때, 비트 OR 값이 target 이상이 되는 가장 짧은 연속 구간의 시작 인덱스와 끝 인덱스를 반환하는 solution 함수를 작성하세요.
비어 있는 첫 체크포인트
정렬된 체크포인트 번호 배열 checkpoints가 주어질 때, 1번부터 시작해서 처음으로 비어 있는 번호를 반환하세요. 중간에 비는 번호가 없다면 0을 반환하면 됩니다.
최고 신호가 가장 먼저 도달한 방
n개의 방이 일렬로 있고, 각 신호 증폭 작업은 특정 구간의 방들에 같은 세기만큼 신호를 더하거나 뺍니다. 모든 작업이 끝난 뒤 신호 세기가 가장 큰 방 번호와 그 세기를 [방 번호, 신호 세기] 형태로 반환하...
제한 점프로 모을 수 있는 최대 신호 점수
일렬로 놓인 신호 증폭기 배열 signals가 있습니다. 시작점은 배열의 왼쪽 바깥(아직 어떤 칸에도 서지 않은 상태)이며, 한 번에 1칸 이상 maxJump칸 이하만큼 앞으로 점프할 수 있습니다.
토글 출입 기록 뒤 남아 있는 사람 수
출입 기록 배열 records가 주어집니다. 같은 이름이 기록에 나타날 때마다 상태가 입장 ↔ 퇴장으로 토글된다고 할 때, 마지막에 안에 남아 있는 사람 수를 반환하세요.
동시 재생자가 가장 많은 순간
각 사용자의 재생 구간이 [start, end]가 아니라 [start, end) 형태로 주어집니다. 즉 start 시각에는 재생 중이지만 end 시각에는 이미 재생이 끝난 상태입니다.
빈자리 없이 이어진 좌석인지 확인하기
문제 설명 좌석 번호가 담긴 배열 seats가 주어질 때, 이 좌석들이 중복 없이 하나의 연속된 구간을 정확히 이루면 true, 아니면 false를 반환하는 solution 함수를 작성하세요.
모든 칸이 채워진 첫 진열 줄
문제 설명 진열 상태를 나타내는 2차원 배열 shelves가 주어집니다. 각 칸은 0 또는 1이며, 1은 상품이 채워진 상태, 0은 비어 있는 상태를 뜻합니다.
세탁 예약을 처리하는 최소 기계 수
문제 설명 세탁실 예약 목록 bookings가 주어집니다. 각 예약은 "HH:MM-HH:MM" 형식의 문자열이며, 하나의 기계는 한 번에 하나의 예약만 처리할 수 있습니다.
거꾸로 읽어도 같은 쿠폰인지 확인하기
문제 설명 문자열 code가 주어질 때, 앞에서 읽은 결과와 뒤에서 읽은 결과가 완전히 같으면 true, 아니면 false를 반환하는 isMirrorCoupon 함수를 작성하세요.
교대로 깜빡이는 신호인지 확인하기
문제 설명 문자열 signal이 주어질 때, 인접한 두 문자가 항상 서로 다르면 true, 하나라도 같으면 false를 반환하는 isAlternatingSignal 함수를 작성하세요.
한 바퀴 배송을 완주할 수 있는 첫 출발 지점
문제 설명 원형으로 배치된 배송 거점이 있습니다. 각 거점 i에서는 supplies[i]만큼 배터리를 충전할 수 있고, 다음 거점으로 이동하려면 costs[i]만큼 배터리가 필요합니다.
두 드론 팀의 적재 차이 최소화
한 번에 한 팀씩 출발하는 두 드론 팀이 있습니다. 각 짐의 무게가 담긴 배열 weights가 주어질 때, 모든 짐을 정확히 한 팀에만 배정해 두 팀의 총 적재량 차이를 최소로 만드세요.
닫는 괄호가 앞서지 않는 올바른 기록
문제 설명 괄호 기록 문자열 record가 주어질 때, 이 문자열이 올바른 괄호열이면 true, 아니면 false를 반환하는 solution 함수를 작성하세요.
짝수 자리와 홀수 자리 합 비교하기
문제 설명 숫자로만 이루어진 문자열 code가 주어질 때, 0번 위치부터 센 짝수 인덱스의 숫자 합과 홀수 인덱스의 숫자 합이 같으면 true, 다르면 false를 반환하는 solution 함수를 작성하세요.
가장 덜 기다리게 처리하는 작업 순서
문제 설명 작업 목록 jobs가 주어집니다. 각 작업은 [requestTime, duration] 형태이며, requestTime은 작업이 대기열에 들어오는 시각, duration은 처리에 걸리는 시간입니다.
정답표와 맞은 칸 개수 세기
문제 설명 정답표 문자열 answer와 제출한 답 문자열 guess가 주어집니다. 두 문자열의 길이는 항상 같다고 할 때, 같은 위치에 같은 문자가 적힌 칸의 개수를 반환하는 solution 함수를 작성하세요.
두 대기열의 합을 같게 만드는 최소 이동
문제 설명 두 대기열 queue1, queue2가 주어집니다. 한 번의 이동에서는 한쪽 대기열의 맨 앞 원소를 꺼내 다른 대기열의 맨 뒤에 붙일 수 있습니다.
구간에서 K번째 작은 수 빠르게 찾기
문제 설명 정수 배열 nums와 여러 개의 질의 queries가 주어집니다. 각 질의는 [left, right, k] 형태이며, nums[left]부터 nums[right]까지의 부분 배열을 오름차순으로 정렬했...
마지막 칸까지 가는 최소 점프 수
각 칸에서 앞으로 최대 nums[i]칸까지 점프할 수 있는 정수 배열 nums가 주어질 때, 첫 번째 칸에서 마지막 칸까지 도달하는 최소 점프 횟수를 반환하는 solution 함수를 작성하세요.
예산 안에서 고르는 최대 모듈 점수
정수 배열 costs와 정수 budget이 주어질 때, 일부 원소를 중복 없이 골라 합이 budget을 넘지 않도록 하면서 만들 수 있는 최대 합을 반환하는 solution 함수를 작성하세요.
모든 배지가 짝수 번 나온 가장 긴 구간
배지 기록 문자열 badges가 주어질 때, A, B, C, D, E 다섯 종류의 배지가 모두 짝수 번 등장하는 가장 긴 연속 구간의 길이를 구하는 longestEvenBadgeWindow 함수를 작성하세요.
배터리가 음수가 되지 않게 만드는 최소 스킵 수
배터리 변화 이벤트를 순서대로 겪을 때, 중간 어느 순간에도 배터리가 음수가 되지 않도록 최소 몇 개의 음수 이벤트를 스킵해야 하는지 구하는 문제입니다.
삼각형을 만들 수 있는지 확인하기
문제 설명 세 정수 a, b, c가 주어집니다. 이 세 값을 각각 변의 길이로 사용해 삼각형을 만들 수 있는지를 반환하는 canFormTriangle 함수를 작성하세요.