[프로그래머스] 주사위 게임 1


문제 설명

1부터 6까지 숫자가 적힌 주사위가 두 개 있습니다. 두 주사위를 굴렸을 때 나온 숫자를 각각 ab라고 했을 때 얻는 점수는 다음과 같습니다.

  • a와 b가 모두 홀수라면 a² + b² 점을 얻습니다.
  • a와 b 중 하나만 홀수라면 2 × (a + b) 점을 얻습니다.
  • a와 b 모두 홀수가 아니라면a - b점을 얻습니다.

두 정수 a와 b가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요.


제한사항

  • a와 b는 1 이상 6 이하의 정수입니다.

입출력 예

abresult
3534
6114
242

입출력 예제

입출력 예 #1

  • 예제 1번에서 두 주사위 숫자가 모두 홀수이므로 3² + 5² = 9 + 25 = 34점을 얻습니다. 따라서 34를 return 합니다.

입출력 예 #2

  • 예제 2번에서 두 주사위 숫자 중 하나만 홀수이므로 2 × (6 + 1) = 2 × 7 = 14점을 얻습니다. 따라서 14를 return 합니다.

입출력 예 #3

  • 예제 3번에서 두 주사위 숫자가 모두 홀수가 아니므로2 - 4=-2= 2점을 얻습니다. 따라서 2를 return 합니다.

나의 풀이

function solution(arr1, arr2) {
  var answer1 = arr1.reduce((acc, cur) => acc + cur);
  var answer2 = arr2.reduce((acc, cur) => acc + cur);

  if (arr1.length === arr2.length) {
    if (answer1 > answer2) {
      return 1;
    } else if (answer1 < answer2) {
      return -1;
    } else {
      return 0;
    }
  } else if (arr1.length > arr2.length) {
    return 1;
  } else {
    return -1;
  }
}