본문 바로가기
카테고리 없음

[프로그래머스] 코딩 테스트 입문 : 숫자 비교하기

by 하모예 2024. 8. 26.

| 문제

정수 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

| 풀이1

public int solution01(int num1, int num2) {
    int answer = -1;
    if(num1 == num2) answer = 1;
    return answer; 
}

| 풀이2

public int solution02(int num1, int num2) {
    return num1 == num2 ? 1 : -1;
}

| 해설

if~else 조건문과 삼항연산자를 모두 적용할 수 있는 문제예요.

삼항연산자는 참 설명하기가 힘든 개념입니다.

조건문의 개념을 알지 못해서 어려워하나 싶어서 if문 다음에 설명하면

어떻게든 if문으로 문제를 해결하려고 하고,

조건문 배우기 전에 연산자에서 설명을 하면

아예 true, false의 개념을 이해하지 못하더라고요.

전자가 더 나은 것 같아서 조건문 다음에 설명하고 있습니다.

 

아주 쉽게 말씀드리면 조건식의 결과가 boolean 타입이어야 하는 것은 같지만

if~else문은 조건이 true 또는 false일 때 수행할 행위를 규정하는 문법이고

삼항 연산자는 조건이 true 또는 false일때 값을 규정하는 문법입니다.

"true일 때 춤을 추세요."라는 문장은 if~else,

"true일때 당신이 추게 될 춤은 삼바입니다."는 삼항연산자의 뉘앙스예요.

참 쉽죠?

댓글