728x90
[Javascript] (LeetCode Easy) 977. Squares of a Sorted Array
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이
/**
* @param {number[]} nums
* @return {number[]}
*/
var sortedSquares = function(nums) {
const answer = [];
let lt = 0;
let rt = nums.length - 1;
let idx = nums.length - 1;
while (lt <= rt) {
let ltSqr = nums[lt] ** 2;
let rtSqr = nums[rt] ** 2;
if (ltSqr > rtSqr) {
answer[idx] = ltSqr;
lt++;
} else {
answer[idx] = rtSqr;
rt--;
}
idx--;
}
return answer;
};
- 단순히 모두 제곱해서, Sort() 해도 풀린다.
- 하지만 문제 하단에 그 방법은 너무 단순 순회니까 O(n)으로 줄일수 있겠냐고 물어본다. 그래서 위와 같이 Two Pointer 접근으로 푸는게 모범 답안이다.
배운 점, 느낀 점
- while() 사용하는게 어색하고 헷갈리는데, 그렇기에 의도적으로 while로 풀어야겠다.
'Coding Test > LeetCode' 카테고리의 다른 글
[Javascript] (LeetCode) 19. Remove Nth Node From End of List (Medium) (0) | 2022.07.14 |
---|---|
[Javascript] LeetCode 876. Middle of the Linked List (0) | 2022.07.14 |
[Javascript] LeetCode 557. Reverse Words in a String III (0) | 2022.07.13 |
[Javascript] LeetCode 344. Reverse String (0) | 2022.07.13 |
[Javascript] LeetCode 167. Two Sum II - Input Array Is Sorted (0) | 2022.07.13 |
오름차순 (Ascending order) vs 비 내림차순(non-decreasing order) (0) | 2022.07.13 |
[Javascript] LeetCode 283. Move Zeroes (0) | 2022.07.13 |
[Javascript] LeetCode 189. Rotate Array (0) | 2022.07.11 |
댓글