최대 1 분 소요

1. 문제

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

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

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

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

// 예제 입력 1
2143

// 예제 출력 1
4321


2. 핵심 아이디어

  • 자릿수를 기준으로 정렬하므로 9부터 0까지 차례대로 확인
  • 각 숫자에 대하여 해당 숫자의 개수를 계산하여 출력


3. Python 문제풀이

import sys

n = sys.stdin.readline().rstrip()

for i in range(9, -1, -1) :
  for j in n :
    if int(j) == i :
      print(i, end='')


4. Java 문제풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Arrays;

class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    char[] arr = br.readLine().toCharArray();

    Arrays.sort(arr);

    for (int i=arr.length-1; i>=0; i--) {
      System.out.print(arr[i]);
    }
  }
}

댓글남기기