같은 숫자로 만드는 다음 큰 수

면접 대비

시간 제한1초메모리 제한128 MB

요약
주어진 정수와 같은 숫자 구성을 가지면서 그보다 큰 최소값을 구하고, 없으면 0을 출력합니다.
난이도

보통10점 중 4점

유형
그리디, 배열, 구현
정답자
아직 제출이 없습니다

문제

정수 X가 주어진다. X를 이루는 숫자를 모두 한 번씩 사용해서 만들 수 있는 수 중에서, X보다 크면서 가장 작은 수를 출력하라.

두 수의 숫자 구성이 같다는 것은 각 숫자가 등장하는 횟수가 모두 같다는 뜻이다. 예를 들어 123과 321은 숫자 구성이 같지만, 123과 432는 숫자 구성이 같지 않다.

입력

첫째 줄에 X가 주어진다.

  • 1 <= X <= 999999
  • X는 0으로 시작하지 않는다.

출력

첫째 줄에 답을 출력한다. 조건을 만족하는 수가 없으면 0을 출력한다.

예제3

  1. 예제 1

    입력
    156
    
    예상 출력
    165
    
  2. 예제 2

    입력
    330
    
    예상 출력
    0
    
  3. 예제 3

    입력
    27711
    
    예상 출력
    71127