[BOJ 13273] 로마숫자
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
3
Time limit:
1.0s
Memory limit:
128M
Problem types
Allowed languages
아주 옛날 옛적 로마 사람들은 로마 숫자를 사용하여 숫자를 나타내었다.</p>
- 그들은 1 을 I (Capital i)로 쓰고 5 를 V, 10 을 X, 50 을 L, 100 을 C, 500 을 D, 1000 을 M 으로 나타낸다. 즉, 2 는 II 로 나타내고, 3 은 III 로 나타낸다.
- 하지만 4 를 쓰기엔 IIII 네 번을 써야 해서 너무 귀찮기도 하고 몇 개가 있는지 세려면 눈이 아파서 로마인들은 4 를 IV 라고 나타내기로 하였다. (IV = 5 - 1 = 4) 즉, 같은 문자를 4 번 이상 반복하지 않는 방식을 쓰기로 하였다. 이 방식을 계속 적용해 9 는 IX 로 나타내고 40 은 XL 90 을 XC 400 은 CD 900 은 CM 으로 나타낸다.
자, 이제 숫자가 아라비아 숫자나 로마 숫자가 무작위로 주어진다. 이때, 로마 숫자가 주어지면 아라비아 숫자를 구하고, 아라비아 숫자가 주어지면 로마 숫자를 구하여라. (우리가 자주 쓰는 숫자(0,1,2,3,4,5,6,7,8,9)를 아라비아 숫자라고 한다.)
입력 형식
입력의 첫 줄에는 테스트 케이스의 개수 T 가 주어진다.</p>
그 다음 줄부터 T 줄에 걸쳐서 아라비아 숫자나 로마 숫자가 무작위로 주어진다. 이 숫자들의 범위는 모두 1 이상 3999 이하이다.
출력 형식
각 테스트 케이스에 대해서 로마 숫자가 주어지면 그 숫자에 해당하는 아라비아 숫자를 출력하고, 아라비아 숫자가 주어지면 그 숫자에 해당하는 로마 숫자를 출력하여라.
예제 입력
3
999
MMXVI
MMMCLXXVIII
예제 출력
CMXCIX
2016
3178
Comments