Coding Test/LeetCode
[Javascript] LeetCode 977. Squares of a Sorted Array
Chaedie
2022. 7. 11. 18:23
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로 풀어야겠다.