[LeetCode] 3069. Distribute Elements Into Two Arrays I

Chobby·2일 전

LeetCode

목록 보기
848/853

😎풀이

  1. nums의 첫 번째 요소와 두 번째 요소를 각각의 배열에 할당
  2. 남은 요소를 순회하며, 각 배열의 마지막 요소를 대소비교하여 더 큰 값이 있는 배열에 현재 요소 추가
  3. 첫 번째 배열과 두 번째 배열을 병합하여 반환, 단 첫 번째 배열을 우선적으로 나열열
function resultArray(nums: number[]): number[] {
    const arr1 = [nums[0]]
    const arr2 = [nums[1]]
    let arr1Last = arr1[0]
    let arr2Last = arr2[0]
    for(let i = 2; i < nums.length; i++) {
        const num = nums[i]
        if(arr1Last >= arr2Last) {
            arr1Last = num
            arr1.push(num)
        } else {
            arr2Last = num
            arr2.push(num)
        }
    }
    return [...arr1, ...arr2]
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글