:ledger: 문제 설명

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

:one: 제한사항

  • 0 ≤ num1 ≤ 10,000
  • 0 ≤ num2 ≤ 10,000

:two: 입출력 예

num1 num2 result
2 3 -1
11 11 1
7 99 -1

:three: 입출력 예 설명

:pushpin: 3-1) 입출력 예 설명 #1

num1이 2이고 num2가 3이므로 다릅니다. 따라서 -1을 return합니다.

:pushpin: 3-2) 입출력 예 설명 #2

num1이 11이고 num2가 11이므로 같습니다. 따라서 1을 return합니다.

:pushpin: 3-3) 입출력 예 설명 #3

num1이 7이고 num2가 99이므로 다릅니다. 따라서 -1을 return합니다.

:four: 프로그래머스에서 제공한 코드

처음 프로그래머스에서 작성된 코드는 아래와 같다.

function solution(num1, num2) {
    let answer = 0;
    return answer;
}

:ledger: 문제 풀이

function solution(num1, num2) {
    let answer = num1 == num2 ? 1 : -1;
    return answer;
}
// 입출력 예 설명 #1
console.log(2, 3);

// 입출력 예 설명 #2
console.log(11, 11);

// 입출력 예 설명 #3
console.log(7, 99);

:one: 함수 선언

  • 함수 이름은 solution이며, 두 개의 매개변수 num1num2를 받는다.

:two: 풀이

  • 삼항 연산자를 사용하여 조건문을 간단하게 작성했습니다.
  • num1 == num2가 참이면 1을 반환하고, 거짓이면 -1을 반환합니다.

:three: 결과 반환

  • 계산된 결과 answer를 반환한다.

:four: 실행

  • solution(2, 3)을 호출하면, false-1을 반환한다.
  • solution(11, 11)을 호출하면, true1을 반환한다.
  • solution(7, 99)을 호출하면, false-1을 반환한다.

:fire: 다른 사람의 풀이 참고

이전 글의 두수의 차와 마찬가지로 화살표 함수를 사용한 풀이와 주로 if문을 사용한 풀이가 많았다.
아니면 변수를 생략하여 바로 반환하는 함수도 있었으며, 다양한 풀이가 있어서 재밌었다.

// 화살표 함수로 적용
const solution = (num1, num2) => num1 === num2 ? 1 : -1

// 변수 생략 적용
function solution(num1, num2) {
    return (num1 === num2) ? 1 : -1;
}

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges