signFunc 를 다음과 같이 정의 한다고 한다.
- x가 양수라면 1을 리턴
- x가 음수라면 -1을 리턴
- x가 0이라면 0을 리턴
또한 정수 배열 nums가 주어질 때 nums 안의 숫자들의 모든 곱을 signFunc 에 넣었을 때의 리턴값을 리턴하는 문제이다.
Example을 보자
const arraySign = function (nums) {
let product = 1;
for (let i = 0; i < nums.length; i++) {
if (nums[i] === 0) return 0;
product *= nums[i];
}
return product > 0 ? 1 : -1
};
먼저 product 라는 변수에 1로 초기화를 해주고 nums 배열을 for문을 돌면서 product에 각 요소값을 곱해준다.
이때 nums의 요소값이 0이라면 곱은 0이 되므로 바로 0을 리턴해준다.
for 문이 끝난다면 product의 값은 양수 또는 음수일 경우 밖에 없으므로 양수라면 1 음수라면 -1을 리턴해주었다.
submit을 해보니
정답이었다!