logweft.

JS-L3-011 / 배열 알고리즘

두 수 합 위치

중급

문제

정수 배열 nums와 target을 받아 합이 target인 서로 다른 두 원소의 인덱스를 작은 순서대로 반환하세요. 해가 정확히 하나 존재합니다.

solve(...args) 함수에서 값을 반환하세요. console 출력은 정답 판정에 사용하지 않습니다.

입출력 예시

예제 1
입력: [[2,7,11],9]
반환: [0,1]
예제 2
입력: [[3,3],6]
반환: [0,1]
힌트

현재 값의 짝을 이전 값들의 Map에서 찾으세요.

해설·정답 보기

현재 인덱스를 저장하기 전에 보수를 확인하므로 같은 원소를 두 번 사용하지 않습니다.

function solve(nums,target) { const seen=new Map(); for(let i=0;i<nums.length;i++){ const j=seen.get(target-nums[i]); if(j!==undefined) return [j,i]; seen.set(nums[i],i); } }
모르는 문법은 코드 사전에서 ↗
solution.js결과 비교

코드는 이 브라우저에 자동 저장돼요.

풀이 결과

코드를 작성하고 채점하기를 눌러보세요.

    학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.

    어떤 기록을 찾으세요?

    키워드를 입력하면 기록을 찾아드려요.