Developer. Designer

프로그래머스 기초트레이닝 Day23-4

주사위 게임 1😀

1부터 6까지 숫자가 적힌 주사위가 두 개 있습니다.
두 주사위를 굴렸을 때 나온 숫자를 각각 a, b라고 했을 때 얻는 점수는 다음과 같습니다.
a와 b가 모두 홀수라면 a2 + b2 점을 얻습니다.
a와 b 중 하나만 홀수라면 2 × (a + b) 점을 얻습니다.
a와 b 모두 홀수가 아니라면 |a - b| 점을 얻습니다.
두 정수 a와 b가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요.

※ 제한 사항
a와 b는 1 이상 6 이하의 정수입니다.

입출력

a b result
3 5 34
6 1 14
2 4 2


function solution(a, b) {
  var answer = 0;

  // 두 주사위의 숫자가 모두 홀수인 경우
  if (a % 2 === 1 && b % 2 === 1) {
    answer = a ** 2 + b ** 2;
  }
  // 두 주사위 중 하나만 홀수인 경우
  else if (a % 2 === 1 || b % 2 === 1) {
    answer = 2 * (a + b);
  }
  // 두 주사위 모두 홀수가 아닌 경우
  else {
    answer = Math.abs(a - b);
  }

  return answer;
}

두 주사위의 숫자가 모두 홀수인 경우:

a와 b가 모두 홀수라면, 점수는 각 주사위의 숫자를 제곱한 값의 합입니다. (a^2 + b^2)
두 주사위 중 하나만 홀수인 경우:

a와 b 중 하나만 홀수라면, 점수는 두 주사위의 숫자를 더한 후 2배로 곱한 값입니다. (2 * (a + b))
두 주사위 모두 홀수가 아닌 경우:

a와 b가 모두 홀수가 아니라면, 점수는 두 주사위 숫자의 차이의 절댓값입니다. (|a - b|)
위 세 가지 경우에 대해 각각 계산한 결과를 answer 변수에 저장하고 최종적으로 반환합니다.

예를 들어, solution(3, 5)를 호출하면 두 숫자가 모두 홀수이므로 a^2 + b^2 계산이 적용되어 최종적으로 34가 반환됩니다.