Javascript

[Javascript] 백준 2908 - 상수

eulBlue 2024. 1. 30. 16:22
 

2908번: 상수

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

www.acmicpc.net

1. 내가 작성한 코드

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');

const [a, b] = input[0].split(' ');

var reverceA = Number(a.split('').reverse().join(''));
var reverceB = Number(b.split('').reverse().join(''));

console.log(Math.max(reverceA, reverceB));
  • split('') 으로 숫자를 자른다음에 reverse() 를 통하여 뒤집은 다음 join('') 을 통하여 합치기
    • join 함수를 사용할 때 join() 이렇게 아무것도 넘겨주지 않으면 , 로 합쳐지니까 주의할 수 있도록 하자
  • Math.max 를 이용하여 큰 수를 출력할 수 있도록 하였다.

2. 강의에서 본 코드로 수정

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');

const [a, b] = input[0].split(' ');

var reverceA = Number(a[2] + a[1] + a[0]);
var reverceB = Number(b[2] + b[1] + b[0]);

console.log(Math.max(reverceA, reverceB));
  • 문제가 3자리 상수라고 고정이 되어있기 때문에 이렇게 풀어준것 같은데 기존 코드는 120ms 였는데
    시간이 168ms 로 더 소요되었다.

두 가지 코드로 문제를 풀어보았고 나는 내가 생각해낸 방법이 더 좋은 방법같다 :)