public class Solution {
public int RomanToInt(string s) {
var numbers = new Dictionary<char, int>();
numbers.Add('I', 1);
numbers.Add('V', 5);
numbers.Add('X', 10);
numbers.Add('L', 50);
numbers.Add('C', 100);
numbers.Add('D', 500);
numbers.Add('M', 1000);
var numbersDiminished = new Dictionary<String, int>();
numbersDiminished.Add("IV", 4);
numbersDiminished.Add("IX", 9);
numbersDiminished.Add("XL", 40);
numbersDiminished.Add("XC", 90);
numbersDiminished.Add("CD", 400);
numbersDiminished.Add("CM", 900);
int result = 0;
int number = 0;
for (int i = 0; i < s.Length; i++) {
number = numbers[s[i]];
if ((s[i] == 'I' || s[i] == 'X' || s[i] == 'C') && i != s.Length - 1 ) {
string maybeDiminished = s.Substring(i, 2);
if (numbersDiminished.ContainsKey(maybeDiminished)) {
number = numbersDiminished[maybeDiminished];
i++;
}
}
result += number;
}
return result;
}
}
-
MY PROJECTS
-
Recent Posts
- Reading.CleanArchitecture.InputOutputPorts
- Reading.CleanArchitecture.MissingChapter
- Reading.CleanArchitecture.VideoSales
- Reading.CleanArchitecture.FrameworksAreDetails
- Reading.CleanArchitecture.WebIsADetail
- Reading.CleanArchitecture.DatabaseAsDetail
- Reading.CleanArchitecture.Embedded
- Reading.CleanArchitecture.TestBoundary
- Reading.CleanArchitecture.Services
- Reading.CleanArchitecture.MainComponent
- Reading.CleanArchitecture.PartialBoundaries
- Reading.CleanArchitecture.Presenters
- Read.CleanArchitecture.CleanArchitecture
- Reading.CleanArchiteture.ScreamingArchiteture
- Reading.CleanArchitecture.BusinessRules
- Reading.CleanArchitecture.PolicyAndLevel
- Reading.CleanArchitecture.Boundaries
- Reading.CleanArchitecture.Independence
- Reading.CleanArchitecture.ArchitectureDefinition
- Algo.Java.CheckPrimeNumber
Categories
- Aptana
- Azure
- C#
- DataSnap
- DBExpress
- Delphi
- Delphi и сети
- Delphi. Язык программирования
- ExtJS
- FastReport
- FireDAC
- FireMonkey
- GIT
- ICS
- IDE
- IIS
- Indy
- InnoSetup
- javascript
- jQuery
- JSON
- LiveBindings
- MSHTML
- MySQL
- PHP
- REST
- Ribbons
- SMS
- SQL инструкции
- SVN
- TRichView
- UniGui
- WebBroker
- WinAPI
- Windows
- Алгоритмы
- Без рубрики
- Деревья
- Ищу ответ
- Компонентостроение
- Мои компоненты
- Начальный уровень
- Обработка исключений
- Парсинг
- Потоки(Threads)
- Регулярные выражения
- Тестирование приложений