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결과 비교
코드는 이 브라우저에 자동 저장돼요.
풀이 결과
코드를 작성하고 채점하기를 눌러보세요.
학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.