🖥️Frontend/Programmers

[JavaScript] 주사위 게임

뉴발자 2024. 6. 3.
728x90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문제

1부터 6까지 적힌 주사위 3개를 굴렸을 때 나온 숫자를 a, b, c라고 한다.

 

점수를 계산하는 조건은 다음과 같다.

 

 • 세 숫자가 모두 다르면 a+b+c 점을 얻는다.

 

 • 세 숫자 중 두 수는 같고 나머지 숫자는 다르면 (a+b+c) x (a² + b² + c²)점을 얻는다.

 

 • 세 숫자가 모두 같다면 (a+b+c) x (a² + b² + c²) x (a³ + b³ + c³)점을 얻는다.

 

매개변수 a, b, c가 주어졌을 때, 점수를 반환하는 함수를 작성해라.

728x90

 

 

풀이

function pow(a, b, c, num) {
  return (Math.pow(a, num) + Math.pow(b, num) + Math.pow(c, num));
}

function solution(a, b, c) { 
  // 매개변수 a, b를 비교한다
  return a === b 
    // a, b가 같은 경우 b, c를 비교한다
    ? (b === c ? (a + b + c) * pow(a, b, c, 2) * pow(a, b, c, 3) : (a+b+c) * pow(a, b, c, 2))
    // a, b가 다른 경우 b, c와 a, c를 비교한다
    : ((b === c | a === c) ? (a + b + c) * pow(a, b, c, 2) : a + b + c);
}

 

 

 

 

 

 

 

 

 

 

728x90

댓글