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

dk.han·2021년 9월 4일
0
post-thumbnail

문제

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

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

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

입력

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

출력

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

예제 입/출력

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

const fs = require('fs');
let input = fs.readFileSync('input.txt').toString().split('\n');

input = input[0].split(' ').map((item) => +item)

solution(input[0], input[1])


function solution(num1, num2) {
    
    let revNum1 = String(num1).split('').reverse().join('');
    let revNum2 = String(num2).split('').reverse().join('');
    
    let result;
    if (+revNum1 < +revNum2) {
        result = +revNum2
    } else {
        result = +revNum1
    }
    console.log(result)
}

느낀점

숫자나, 문자를 거꾸로 해야할 때에 split, reverse, join 3가지 method를 사용하면 편리하다.

숫자의경우 String()을 사용해서 문자로 바꿔주고, split()으로 쪼개서 배열을 만든 후,

reverse() 사용해서 순서를 바꿔주고, join('')을 이용해서 다시 하나로 합쳐준다.

어려운 문제는 아니지만 기억하기 위해 남긴다.

0개의 댓글