로마 숫자 text를 숫자로 환산하기

분석
로마 숫자(I, II, IV, V, X...)를 숫자로 바꿔 출력해야 한다.
풀이
def roman_to_num(string):
        roman = {
                'I':1,
                'V':5,
                'X':10,
                'L':50,
                'C':100,
                'D':500,
                'M':1000
              }
	data = 0;
  
  	for i in range(len(string)):
  		if i < len(string)-1 and roman[string[i+1]] > roman[string[i]]:
      			data -= roman[string[i]]
                else:
                	data += roman[string[i]]
	
    	return data    
   
print(roman_to_num('CD'))
해석
로마 숫자의 patter을 분석해보면 앞뒤로 붙은 로마자를 기준으로 앞이 크면 '+' 처리를 하면 된다. 반대로 뒤가 크면 이는 뒤의 값에서 앞의 값을 뺀다는 의미(예로 IV 는 5 - 1 = 4 이다)
그러므로 로마자가 담긴 배열의 앞에서부터 순차적으로 접근, 뒤의 값과 비교하여 두 가지 처리 중 하나를 총 값에 누적처리 하면 됨
Author And Source
이 문제에 관하여(로마 숫자 text를 숫자로 환산하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jinybear/로마-숫자-text를-숫자로-환산하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)