⚡문제 유형
배열, 수학
📝문제
입력값인 배열의 요소를 다 곱했을 때
음수면 -1,
0이면 0,
양수면 1을 반환해라
📘예시
Input: nums = [-1,-2,-3,-4,3,2,1]
Output: 1
Explanation: The product of all values in the array is 144, and signFunc(144) = 1
Input: nums = [1,5,0,2,-3]
Output: 0
Explanation: The product of all values in the array is 0, and signFunc(0) = 0
Input: nums = [-1,1,-1,1,-1]
Output: -1
Explanation: The product of all values in the array is -1, and signFunc(-1) = -1
📗풀이
1. 0이면 어떤 값을 곱해도 0이다
2. 양수는 1, 음수는 -1로 바꿔서 곱해주는 값을 반환해주면 된다.
📕코드
var arraySign = function (nums) {
for (let i = 0; i < nums.length; i++) {
if (nums[i] === 0) return 0;
else if (nums[i] > 0) nums[i] = 1;
else nums[i] = -1;
}
return nums.reduce((a, b) => a * b);
};
'자료구조&알고리즘 > 알고리즘' 카테고리의 다른 글
[LeetCode][JS] 976번 Largest Perimeter Triangle (0) | 2022.05.27 |
---|---|
[LeetCode][JS] 1502번 Can Make Arithmetic Progression From Sequence (0) | 2022.05.27 |
[LeetCode][JS] 1779번 Find Nearest Point That Has the Same X or Y Coordinate (0) | 2022.05.27 |
[LeetCode][JS] 1281번 Subtract the Product and Sum of Digits of an Integer (0) | 2022.05.26 |
[LeetCode][JS] 191번 Number of 1 Bits (0) | 2022.05.25 |