LeetCode : 189. Rotate Array
·
🧩 Algorithm
문제 링크 문제 먼저 읽기 정수 배열 nums 가 주어집니다. 배열을 오른쪽으로 k 번 숫자를 이동시킵니다. Input: nums = [1,2,3,4,5,6,7], k = 3 Output: [5,6,7,1,2,3,4] Explanation: rotate 1 steps to the right: [7,1,2,3,4,5,6] rotate 2 steps to the right: [6,7,1,2,3,4,5] rotate 3 steps to the right: [5,6,7,1,2,3,4] Follow up 최대한 다양한 방법으로 풀어보세요. 적어도 3가지 방식으로 풀 수 있습니다. 제자리에서 O(1) 의 공간 복잡도로 풀 수 있을까요? 어떻게 풀까? 생각 index에 k-1만큼 더해주고 최대값으로 나눈 나머지를 i..
LeetCode : 169. Majority Element
·
🧩 Algorithm
문제 링크 문제 먼저 읽기 크기가 n인 nums 정수 배열이 주어집니다. 요소 안에서 과반수 요소인 정수를 반환합니다. O(1) 로 풀 수 있는 방법이 있는 것 같다. Input: nums = [2,2,1,1,1,2,2] Output: 2 어떻게 풀까? 생각 nums가 정렬되어 있지 않다는 점을 어떻게 풀지 고민이 되었다. 각 숫자가 얼마나 나오는지 개수를 셀 수 있다. (Map collection 사용) 매번 이 방법을 사용해왔었다. 혹은 등장하는 숫자 개수가 2개이므로, 최소한의 변수로 과반수를 체크할 수 있지 않을까? 수도코드 class Solution { public int majorityElement(int[] nums) { int major = 0; // 과반수인 숫자를 저장한다. int co..
LeetCode : 80. Remove Duplicates from Sorted Array II
·
🧩 Algorithm
문제 링크 문제 먼저 읽기 오름차순으로 정수 nums 가 주어진다. 각 고유 요소가 최대 두 번만 나타나도록 중복된 요소를 같은 배열안에서 제거합니다. 요소의 상대적 순서는 동일하게 유지해야 합니다. java는 배열 길이를 변경할 수 없으므로, 결과를 배열 nums의 index 0부터 배치합니다. 중복 제거한 후 요소가 개수를 반환합니다. Input: nums = [1,1,1,2,2,3] Output: 5, nums = [1,1,2,2,3,_] 어떻게 풀까? 생각 이제 요소가 몇개씩 가능한지 저장해야합니다. 순서를 그대로 유지하며 저장되는 개수를 저장해야하므로, 지금 포인터가 요소를 저장할 수 있는 개수를 초기화하며 풀 수 있지 않을까요? 별도의 자료구조를 더 정의하는 것은 메모리를 추가로 더 사용하므로..
LeetCode : 26. Remove Duplicates from Sorted Array
·
🧩 Algorithm
문제 링크 LeetCode - The World's Leading Online Programming Learning Platform 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 문제 먼저 읽기 정수 배열 nums는 오름차순으로 정렬되어 주어진다. 중복된 요소를 제거하자. 요소의 상대적인 순서는 동일하게 유지해야 한다. nums를 변경해야한다. 고유 요소 수보다 큰 index의 나머지 요소는 상관없다. 고유 요소 수를 정수 반환한다. 어떻게 풀까? 생각 같은 방식으로 포인터로 ..
LeetCode : 27. Remove Element
·
🧩 Algorithm
문제 링크 Remove Element - LeetCode Can you solve this real interview question? Remove Element - Given an integer array nums and an integer val, remove all occurrences of val in nums in-place [https://en.wikipedia.org/wiki/In-place_algorithm]. The order of the elements may be changed. Then r leetcode.com 문제 먼저 읽기 nums 정수 배열과 val 정수 1개가 주어진다. val과 같은 수를 nums에서 제거한다. 제거된 정수 외의 다른 수만 남긴 결과를 nums 배열에 저장..
LeatCode : 88. Merge Sorted Array
·
🧩 Algorithm
문제 링크 Merge Sorted Array - LeetCode Can you solve this real interview question? Merge Sorted Array - You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and nums2 respectively. Merge nums1 an leetcode.com 문제 먼저 읽기 오름차순으로 정렬된 숫자 배열 2개 nums1, num2 가 주어진다. 이 두 배열을 nums1 배열 안에 오름차순으로 합쳐야 한다. 현재 nums1..