본문 바로가기
프로그래밍/백준 알고리즘

[백준 / node.js] 2908번: 상수

by 정빈e 2021. 8. 13.
728x90

출처: 백준

 

2908번: 상수

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두

www.acmicpc.net

문제

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.

상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.

두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.

출력

첫째 줄에 상수의 대답을 출력한다.

예제 입력 1

734 893

예제 출력 1

437

예제 입력 2

221 231

예제 출력 2

132

예제 입력 3

839 237

예제 출력 3

938

내 코드

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

let input = [];
rl.on("line", function (line) {
  input = line.split(" ");
  rl.close();
}).on("close", function () {
  let num1 = input[0].split("").reverse().join("");
  let num2 = input[1].split("").reverse().join("");

  num1 > num2 ? console.log(num1) : console.log(num2);

  process.exit();
});

결과

> 734 893
437
> 221 231
132
> 839 237
938

입력받은 두 수를 한 자리씩 잘라 배열로 만든 후 거꾸로 뒤집고 다시 문자열로 만든 후 num1, num2에 담았다.

 

문제의 입력 조건에 두 수는 같지 않은 세 자리 수라고 나와있기 때문에 두 수가 같을 수 있다는 조건은 생각하지 않아도 되어서 삼항 연산자를 사용했다.

 

 

[Javascript] 삼항 연산자

관련사이트 Conditional (ternary) operator - JavaScript | MDN The conditional (ternary) operator is the only JavaScript operator that takes three operands: a condition followed by a question mark (?)..

jb-dailylife.tistory.com

 

 

 

728x90

댓글