[JS]엘리스_220412: 비교 연산 검사기

엘리스 SW 엔지니어 트랙 2기

문제 출처 : 엘리스 SW 엔지니어 트랙 2기 - JavaScript 문제집
readline 모듈


💡 문제

입력이 숫자, 비교 연산자, 숫자 순서로 공백을 기준으로 주어집니다.
해당 비교 연산이 참이면 true, 거짓이면 false를 출력해보세요.

입력 예시
100 < 300

출력 예시
true

입력 예시
2 == 3

출력 예시
false

💡 풀이

입력값을 받아 각각 변수에 담아준다.
switch 조건문을 통해 비교 연산과 case의 일치 여부를 확인 후 true, false를 출력한다.

💡 코드

const readline = require("readline");
const rl = readline.createInterface({
    input : process.stdin,
    output : process.stdout
});

let input = []

rl.on("line", function(line){
    input.push(line)
}).on("close", function(){

    let num1 = +input[0].split(' ')[0]
    let op = input[0].split(' ')[1]
    let num2 = +input[0].split(' ')[2]

    switch(op) {
        case '>':
            console.log(num1 > num2)
            break;
        case '==':
            console.log(num1 == num2)
            break;
        case '<':
            console.log(num1 < num2)
            break;
    }
    
    process.exit();
})

💡 학습

switch

if 조건문은 여러 조건문들이 중첩되어 복잡하게 보일 수 있는데, 경우에 따라 switch 를 사용하면 정돈된 코드를 만들 수 있습니다.

switch(표현식) {
    case1:
        명령문1
        break;
    case2:
        명령문2
        break;
    default:
        명령문3
}
  • 먼저 switch 표현식의 값을 확인합니다. switch 표현식 다음으로 중괄호 {}로 둘러싸인 블록 안을 살펴보면 case 문이 있습니다. switch의 표현식은 case의 값과 일치 여부를 확인하며, 이때 === 일치 연산자를 사용합니다.

  • 여러 case 문이 있는 경우, 위에서부터 순차적으로 일치한 값이 나올 때까지 case 값을 확인하며 내려갑니다. 그리고 case 값이 일치하면 해당 명령문을 실행합니다.

  • break는 그 다음의 코드를 더이상 실행하지 않고 switch 조건문을 끝내는 역할을 수행합니다.

  • 만일 일치하는 값이 없는 경우 마지막 default로 선언된 명령문이 실행됩니다.

💡 참고

좋은 웹페이지 즐겨찾기