개발조각

[리트코드] 35. Search Insert Position 본문

알고리즘🅰/리트코드

[리트코드] 35. Search Insert Position

개발조각 2022. 9. 30. 14:27
728x90
반응형

안녕하세요. 개발조각입니다.😊

으 슬슬 문제 어려워져서 결국 easy를 풀었습니다.


https://leetcode.com/problems/search-insert-position/

 

Search Insert Position - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

이번 문제는 쉬운데 이해력이 딸리는 건지?를 띄우면서 풀었습니다.

간단하게 문제에 대해 설명하자면

Input: nums = [1,3,5,6], target = 5
Output: 2

위의 예시와 같이 nums배열 원소에 target과 동일한 값이 있으면

nums배열의 해당원소의 인덱스 값을 반환해주면 되는 거고

 

Input: nums = [1,3,5,6], target = 7
Output: 4

 

위와 같이 nums배열 원소에 target과 동일한 값이 없으면

nums에서 target값을 넣어줬을 때 오름차순 할 경우의 인덱스 값을 반환해주면 됩니다.

즉 nums = [1, 3, 5,  6, 7] 이럴 경우 7의 인덱스를 찾아줘서 리턴해주면 됩니다.


소스코드

var searchInsert = function(nums, target) {
    let idx = nums.findIndex(x=> x === target);
    if(idx !== -1) return idx;
    
    nums.push(target);
    nums.sort((a,b)=> a-b);
    let idx2 = nums.findIndex(x=> x === target);
    
    return idx2;
};

저는 findIdx를 사용해줘서 nums배열에 target이 있는지 찾아주었고

있을 경우는 해당 index값을 리턴해주고

 

아닐 경우에는 nums배열에 target을 push로 넣어주고 sort로 정렬해주어

다시 findIdx를 사용하여 해당 index값을 리턴해 주었습니다.

728x90
반응형
Comments