코드 그라데이션

[Lv.0] 주사위 게임 1 본문

Java/알고리즘

[Lv.0] 주사위 게임 1

완벽한 장면 2023. 7. 6. 00:10

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

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 이하의 정수입니다.

입출력 예

 

입출력 예 설명

 

아이디어

  • 조건문 4개에서 3개로 줄이는 베리에이션
  • 거듭제곱은 a*a로 하는 게 더 낫다.
  • 분기의 순서만 바꾸자.
  • 절댓값은 abs라는 유틸리티성 클래스 메서드.

나의 코드

class Solution {
    public int solution(int a, int b) {
        if(a%2==0 && b%2==0) {
            return Math.abs(a-b);
        } else if(a%2 != 0 && b%2 !=0) {
            return a*a + b*b; 
        } else {
            return 2 * (a+b);
        }
    }
}
728x90

'Java > 알고리즘' 카테고리의 다른 글

[Lv.0] 마지막 두 원소  (0) 2023.07.16
[Lv.0] 마지막 두 원소  (0) 2023.07.10
[Lv.0] 콜라츠 수열 만들기  (0) 2023.07.03
[Lv.0] 조건 문자열  (0) 2023.06.28
[Lv.0] 수열과 구간 쿼리  (0) 2023.06.24
Comments