[leetcode, JS] 34. Find First and Last Position of Element in Sorted Array

mxxn·2023년 9월 7일
0

leetcode

목록 보기
70/198

문제

문제 링크 : Find First and Last Position of Element in Sorted Array

풀이

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var searchRange = function(nums, target) {
  let result = [-1, -1]
    if(nums.includes(target)) {
      nums.forEach( (e, idx) => {
        if(e === target && result[0] === -1){
          result = [idx, idx]
        }else if( e=== target && result[0] !== -1) {
          result[1] = idx
        }
      })
    } 
    
    return result;
};
  1. 기본 값으로 [-1,-1] 을 세팅하고
  2. nums를 forEach로 순회하며 element와 taraget 값 비교하여 result 값 생성
  • Runtime 52 ms, Memory 42.5 MB

다른 풀이

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var searchRange = function(nums, target) {
  let start = -1, end = -1;
    for (let i=0; i<nums.length; i++) {
        if (target === nums[i]) {
            if (start === -1) {
                start = i;
            }
            end = i;
        }
    }

    return [start, end];
};
  1. 위의 풀이 방식은 비슷하나, 훨씬 간결한 코드
  • Runtime 42 ms, Memory 42 MB
profile
내일도 글쓰기

0개의 댓글