주사위 게임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 함수를 작성해 주세요.
💡 입출력 예
a | b | result |
---|---|---|
3 | 5 | 34 |
6 | 1 | 14 |
2 | 4 | 2 |
💻내가 작성한 코드
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.