주사위 게임 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가 반환됩니다.