[프로그래머스] 주사위 게임 1
카테고리 : 컴퓨터 공학
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 주사위 게임 1 · js 주사위 게임 1
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 주사위 게임 1 · js 주사위 게임 1
문제 설명
1부터 6까지 숫자가 적힌 주사위가 두 개 있습니다. 두 주사위를 굴렸을 때 나온 숫자를 각각 a
, b
라고 했을 때 얻는 점수는 다음과 같습니다.
a
와b
가 모두 홀수라면a
² +b
² 점을 얻습니다.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 |
입출력 예제
입출력 예 #1
- 예제 1번에서 두 주사위 숫자가 모두 홀수이므로 3² + 5² = 9 + 25 = 34점을 얻습니다. 따라서 34를 return 합니다.
입출력 예 #2
- 예제 2번에서 두 주사위 숫자 중 하나만 홀수이므로 2 × (6 + 1) = 2 × 7 = 14점을 얻습니다. 따라서 14를 return 합니다.
입출력 예 #3
예제 3번에서 두 주사위 숫자가 모두 홀수가 아니므로 2 - 4 = -2 = 2점을 얻습니다. 따라서 2를 return 합니다.
나의 풀이
function solution(arr1, arr2) {
var answer1 = arr1.reduce((acc, cur) => acc + cur);
var answer2 = arr2.reduce((acc, cur) => acc + cur);
if (arr1.length === arr2.length) {
if (answer1 > answer2) {
return 1;
} else if (answer1 < answer2) {
return -1;
} else {
return 0;
}
} else if (arr1.length > arr2.length) {
return 1;
} else {
return -1;
}
}