코딩테스트 준비/leetcode

88. Merge Sorted Array

MAKGA 2021. 8. 10. 21:41
320x100

https://leetcode.com/problems/merge-sorted-array/

 

Merge Sorted Array - 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

 

정수 목록이 2개가 주어졌을 때, 0을 제외하고 두 목록을 합쳐 반환하는 문제다.

 

[C++]

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int count = 0;        
        nums1.resize(m + n);
        
        while (m > 0 && n > 0)
        {
            if (nums1[m - 1] > nums2[n - 1])
            {
                nums1[m + n - 1] = nums1[m - 1];
                --m;
            }
            else
            {
                nums1[m + n - 1] = nums2[n - 1];
                --n;
            }
            
            ++count;
        }
        
        copy(nums2.begin(), nums2.begin() + n, nums1.begin());
    }
};

 

파이썬 문법 참 괴랄하네 후

[Python3]

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        """
        Do not return anything, modify nums1 in-place instead.
        """
        while m > 0 and n > 0:
            if nums1[m-1] > nums2[n-1]:
                nums1[m+n-1] = nums1[m-1]
                m -= 1
            else:
                nums1[m+n-1] = nums2[n-1]
                n -= 1
        nums1[:n] = nums2[:n]

320x100

'코딩테스트 준비 > leetcode' 카테고리의 다른 글

141. Linked List Cycle  (0) 2021.08.17
83. Remove Duplicates from Sorted List  (0) 2021.08.11
14. Longest Common Prefix  (0) 2021.08.09
118. Pascal's Triangle  (0) 2021.08.08
1. Two Sum  (0) 2021.08.07