DOTY
4) LeetCode - Merge Sorted Array 본문
728x90
반응형
처음 사용해 보는 사이트로 프로그래머스처럼 내가 Input을 넣지 않아 줘도 좋다.
그리고 Follow Up 이라는 추가 도전?이라는 것도 있는데 문제를 다 풀어도 더 생각하게 한다.
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
int i = 0, j = 0;
vector<int> answer;
while(i < m && j < n)
{
if(nums1[i] <= nums2[j])
{
answer.push_back(nums1[i]);
i++;
}
else
{
answer.push_back(nums2[j]);
j++;
}
}
while(i < m)
{
answer.push_back(nums1[i]);
i++;
}
while(j < n)
{
answer.push_back(nums2[j]);
j++;
}
nums1 = answer;
}
};
원래 내가 생각했던 코드.

어이쿠야....
지금까지 제출한 사람들의 런타임과 메모리를 비교할 수 있다.
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
int fullarr = m+n-1;
m--;
n--;
while(m >= 0 && n >= 0)
{
if(nums1[m] >= nums2[n])
{
nums1[fullarr] = nums1[m];
m--;
}
else
{
nums1[fullarr] = nums2[n];
n--;
}
fullarr--;
}
while(m >= 0)
{
nums1[fullarr] = nums1[m];
m--;
fullarr--;
}
while(n >= 0)
{
nums1[fullarr] = nums2[n];
n--;
fullarr--;
}
}
};
코드를 좀 개선시키고 다시 실행을 했다.

릿코드는 틀렸을 경우 어떤 테케에서 틀렸는지 보여준다.
하지만 코테에서는 어떤 테케가 틀렸는지 보여주지 않는다.
이 부분에 대해서는 단점이 될 수 있을 것 같다.
728x90
반응형
'Algorithm > Data Structure' 카테고리의 다른 글
6) LeetCode - Majority Element (0) | 2024.09.03 |
---|---|
5) LeetCode - Remove Element (0) | 2024.09.02 |
3) 프로그래머스 Lv2 - 두 큐 합 같게 만들기 (0) | 2023.03.22 |
2) 백준 1874 - 스택 수열 (0) | 2023.01.14 |
1) 백준 4949 - 균형잡힌 세상 (0) | 2023.01.13 |