[LeetCode] Sign of the Product of an Array

준규·2022년 10월 30일
0

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을 해보니

정답이었다!

profile
안녕하세요 :)

0개의 댓글