package Ġcom . leetcode . random _ problems . easy . roman _ to _ integer Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġprintln (" Test Ġcase Ġ 1 :") ĊĠĠĠ Ġprintln ( Solution (). roman ToInt (" III ")) Ġ// Ġ 3 ĊĠĠĠ Ġprintln () ĊĊĠĠĠ Ġprintln (" Test Ġcase Ġ 2 :") ĊĠĠĠ Ġprintln ( Solution (). roman ToInt (" IV ")) Ġ// Ġ 4 ĊĠĠĠ Ġprintln () ĊĊĠĠĠ Ġprintln (" Test Ġcase Ġ 3 :") ĊĠĠĠ Ġprintln ( Solution (). roman ToInt (" IX ")) Ġ// Ġ 9 ĊĠĠĠ Ġprintln () ĊĊĠĠĠ Ġprintln (" Test Ġcase Ġ 4 :") ĊĠĠĠ Ġprintln ( Solution (). roman ToInt (" LV III ")) Ġ// Ġ 5 8 ĠEx planation : ĠL Ġ= Ġ 5 0 , ĠV = Ġ 5 , ĠIII Ġ= Ġ 3 . ĊĠĠĠ Ġprintln () ĊĊĠĠĠ Ġprintln (" Test Ġcase Ġ 5 :") ĊĠĠĠ Ġprintln ( Solution (). roman ToInt (" M CM X CI V ")) Ġ// Ġ 1 9 9 4 ĠEx planation : ĠM Ġ= Ġ 1 0 0 0 , ĠCM Ġ= Ġ 9 0 0 , ĠX C Ġ= Ġ 9 0 Ġand ĠIV Ġ= Ġ 4 . ĊĠĠĠ Ġprintln () Ċ Ċ } Ċ Ċ class ĠSolution Ġ{ ĊĊĠĠĠ Ġval Ġnumber Map Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠ Ġ' I ' Ġto Ġ 1 , ĊĠĠĠĠĠĠĠ Ġ' V ' Ġto Ġ 5 , ĊĠĠĠĠĠĠĠ Ġ' X ' Ġto Ġ 1 0 , ĊĠĠĠĠĠĠĠ Ġ' L ' Ġto Ġ 5 0 , ĊĠĠĠĠĠĠĠ Ġ' C ' Ġto Ġ 1 0 0 , ĊĠĠĠĠĠĠĠ Ġ' D ' Ġto Ġ 5 0 0 , ĊĠĠĠĠĠĠĠ Ġ' M ' Ġto Ġ 1 0 0 0 ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġrom an ToInt ( s : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcurrent : ĠInt ĊĠĠĠĠĠĠĠ Ġvar Ġprevious Ġ= Ġ- 1 ĊĊĠĠĠĠĠĠĠ Ġval Ġoperations Ġ= Ġs . map Ġ{ Ġc Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Ġ= Ġnumber Map [ c ] Ġ?: Ġthrow ĠIllegalArgumentException (" Map Ġdoesnt Ġcontain Ġ$ c ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprevious Ġ== Ġ- 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprevious Ġ= Ġcurrent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ current ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprevious Ġ< Ġcurrent Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ ( current Ġ- Ġ( previous Ġ* Ġ 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprevious Ġ= Ġcurrent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġoperations . reduce Ġ{ Ġacc , Ġi Ġ-> Ġacc Ġ+ Ġi Ġ} ĊĠĠĠ Ġ} Ċ } Ċ