프로그래머스/Lv. 0(코딩테스트 입문)

[프로그래머스 코딩테스트] 숫자 비교하기(Java)

Sigfriede 2023. 3. 21. 21:02

  문제 설명

  정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 return하도록 solution 함수를 완성해주세요.

 

  제한사항

  • 0 <= num1 <= 10,000
  • 0 <= num2 <= 10,000

 

  입출력 예

num1 num2 result
2 3 -1
11 11 1
7 99 -1
class Solution {
    public int solution(int num1, int num2) {
        int answer = 0;
        if (num1 == num2) {
            answer = 1;
        } else {
            answer = -1;
        }
        return answer;
    }
}

  if문으로 num1과 num2의 값을 비교하는 식입니다. 하지만 위의 식보다 더 간단한 방법으로 풀 수 있습니다. '삼항연산자'라는 방법입니다. 삼항연산자는 '조건문 ? True : False'와 같은 방식으로 쓰입니다. 이 문제를 예로 들자면, 이런 식으로 쓸 수 있습니다.

class Solution {
    public int solution(int num1, int num2) {
        int answer = (num1 == num2) ? 1 : -1;
        return answer;
    }
}

  앞서 보여드린 코드를 한 줄만으로도 표현할 수 있게 되는 것이죠. 하지만 남발하다보면 코드의 가독성을 해칠 수 있다고 하니, 적재적소에 쓰는 것이 중요할 듯 합니다.