Post

주사위 게임1

https://school.programmers.co.kr/learn/courses/30/lessons/181839

📔 문제 설명

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

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

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

💡 입출력 예

abresult
3534
6114
242

💻내가 작성한 코드

1
2
3
4
5
function solution(a, b) {
  if (a % 2 === 0 && b % 2 === 0) return a - b > 0 ? a - b : (a - b) * -1;
  if (a % 2 !== 0 && b % 2 !== 0) return a * a + b * b;
  return 2 * (a + b);
}

💻다른 사람 코드

Math.abs()로 양수값 반환

1
2
3
4
5
6
7
8
function solution(a, b) {
  const isAOdd = a % 2 === 1;
  const isBOdd = b % 2 === 1;

  if (isAOdd && isBOdd) return Math.pow(a, 2) + Math.pow(b, 2);
  if (!isAOdd && !isBOdd) return Math.abs(a - b);
  return 2 * (a + b);
}
This post is licensed under CC BY 4.0 by the author.