JS-L3-019 / 배열 알고리즘
가장 긴 연속 수열
중급문제
정수 배열 nums에서 연속된 정수로 만들 수 있는 가장 긴 수열의 길이를 반환하세요. 원래 배열에서의 인접 여부는 무관합니다.
solve(...args) 함수에서 값을 반환하세요. console 출력은 정답 판정에 사용하지 않습니다.
입출력 예시
예제 1
입력: [[100,4,200,1,3,2]] 반환: 4
예제 2
입력: [[]] 반환: 0
힌트
수열의 시작점에서만 길이를 세어보세요.
해설·정답 보기
n-1이 없는 값만 시작점으로 사용하면 동일한 수열을 여러 번 확장하지 않습니다.
function solve(nums) { const set=new Set(nums); let best=0; for(const n of set){ if(set.has(n-1))continue; let x=n; while(set.has(x))x++; best=Math.max(best,x-n); } return best; }solution.js결과 비교
코드는 이 브라우저에 자동 저장돼요.
풀이 결과
코드를 작성하고 채점하기를 눌러보세요.
학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.