로마 숫자 재배치

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

요약
100 미만인 수를 나타내는 로마 숫자가 주어질 때, 문자를 재배열해 만들 수 있는 유효한 로마 숫자 중 값이 가장 작은 것을 구합니다.
난이도

보통10점 중 6점

유형
완전 탐색, 문자열, 수학, 구현
정답자
아직 제출이 없습니다

문제

1부터 9까지의 정수는 로마 숫자로 각각 I, II, III, IV, V, VI, VII, VIII, IX로 쓴다.

10부터 90까지의 10의 배수는 각각 X, XX, XXX, XL, L, LX, LXX, LXXX, XC로 쓴다.

100보다 작은 양의 정수를 로마 숫자로 나타낼 때는 십의 자리와 일의 자리를 각각 위 규칙으로 바꾼 뒤 이어 붙인다.

로마 숫자 B가 주어진다. B에 있는 문자들을 모두 한 번씩 사용해 재배치했을 때 만들 수 있는 올바른 로마 숫자 중에서, 나타내는 값이 가장 작은 것을 출력하시오.

입력

첫째 줄에 1 이상 100 미만의 정수 B가 로마 숫자로 주어진다.

출력

B의 문자들을 재배치해 만들 수 있는 올바른 로마 숫자 중 값이 가장 작은 것을 로마 숫자로 출력한다.

예제3

  1. 예제 1

    입력
    VII
    
    예상 출력
    VII
    
  2. 예제 2

    입력
    VI
    
    예상 출력
    IV
    
  3. 예제 3

    입력
    III
    
    예상 출력
    III