[Node.js] 백준 #1427 : 소트인사이드

전인혁·2022년 5월 30일
0

백준 Algorithm

목록 보기
5/5
post-thumbnail

문제분류

정렬

문제

https://www.acmicpc.net/problem/1427

배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.


입력
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.

출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.


예제 입력 1

2143

예제 출력 1

4321

예제 입력 2

999998999

예제 출력 2

999999998

예제 입력 3

61423

예제 출력 3

64321

예제 입력 4

500613009

예제 출력 4

965310000

Solution

  • 정렬 함수 구현 (내림차 순)
    2중 for loop를 사용하여 첫 번째 원소와 다음 원소를 비교하고, 다음 원소가 현재 원소보다 크다면 현재 원소와 자리를 바꾼다.

  • 결과 출력
    sort()를 이용해 정렬한 배열을 합친 뒤, console에 출력한다.

코드

// 입력 모듈 "fs" 불러오기
const fs = require("fs");
const input = fs
  .readFileSync("./dev/stdin")
  .toString()
  .trim()
  .split("")
  .map((el) => parseInt(el));

// 정렬 함수 구현 (내림차 순)
function sort(arr) {
  let tmp = 0;
  for (let i = 0; i < arr.length; i++)
    for (let j = i + 1; j < arr.length; j++)
      if (arr[i] < arr[j]) {
        tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
      }
  return arr;
}

// Solution 함수
function Solution(input) {
  console.log(sort(input).join(""));
}

// Solution 함수 실행
Solution(input);
profile
Front-end Developer

0개의 댓글