프로그래밍-코딩테스트/LeetCode(84)
-
[Array] Sort Array By Parity
Given an array A of non-negative integers, return an array consisting of all the even elements of A, followed by all the odd elements of A. You may return any answer array that satisfies this condition. Two-pointer 알고리즘을 사용하는 문제이다. 1차원 배열이 있고, 이들이 가리키는 원소가 각각 다른 케이스들만 조합해서 답을 찾아내는 경우에 사용한다. (이러한 유형의 문제의 대표급은 특정 원소의 합이 주어진 value가 되는지 여부를 찾는 문제들!) Two-pointer 알고리즘 관련 문제들은 보통 다음과 같이 해결한다 1) 포인터가 2개..
2021.01.08 -
[Array] Move Zeroes
Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements. 그냥 0이 있으면 오른쪽으로 밀어내라는 문제 Loop를 돌리면서 0이 있으면 splice 메소드를 이용해 떼어내고, push 해주다가 배열 리턴하면 끝
2021.01.08 -
[Array] Remove Duplicates from Sorted Array
Given a sorted array nums, remove the duplicates in-place such that each element appears only once and returns the new length. Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory. Clarification: Confused why the returned value is an integer but your answer is an array? Note that the input array is passed in by reference, wh..
2021.01.08 -
[Array] Replace Elements with Greatest Element on Right Side
Given an array arr, replace every element in that array with the greatest element among the elements to its right, and replace the last element with -1. After doing so, return the array. 문제 자체는 간단하다. 특정 element에 대해, 그 오른쪽에 있는 원소들의 크기를 가늠한 후, 가장 크기가 큰 원소의 값으로 대체하는 것. 이러한 문제는 사실 배열을 다룰 때, 공간복잡도를 최소화하기 위한 예시로 많이 쓰인다. 흔히 In-place Array Operation이라 한다. 새로운 배열을 만들어 조건대로 원소를 꾸리면 좋겠지만, 이는 메모리 할당으로 인해 쓸데..
2021.01.06 -
[Array] Valid Mountain Array
Given an array of integers arr, return true if and only if it is a valid mountain array. Recall that arr is a mountain array if and only if: arr.length >= 3 There exists some i with 0 arr[i + 1] > ... > arr[arr.length - 1] 문제의 친절한 그림을 보면, valid mountain은 Increasing과 Decreasing의 변화가 단 한번만 일어나는 배열은 뜻하는 것 같다.(물론 mo..
2021.01.06 -
[Array] Check If N and Its Double Exist
Given an array arr of integers, check if there exists two integers N and M such that N is the double of M ( i.e. N = 2 * M). More formally check if there exists two indices i and j such that : i != j 0
2021.01.06