문제
작성코드
public class Solution {
public int RomanToInt(string s) {
int answer = 0;
char pre = '\0';
foreach(char c in s)
{
switch(c)
{
case 'I':
answer+=1;
break;
case 'V':
if (pre == 'I')
{
answer+=3;
}
else
{
answer+=5;
}
break;
case 'X':
if (pre == 'I')
{
answer+=8;
}
else
{
answer+=10;
}
break;
case 'L':
if (pre == 'X')
{
answer+=30;
}
else
{
answer+=50;
}
break;
case 'C':
if (pre == 'X')
{
answer+=80;
}
else
{
answer+=100;
}
break;
case 'D':
if (pre == 'C')
{
answer+=300;
}
else
{
answer+=500;
}
break;
case 'M':
if (pre == 'C')
{
answer+=800;
}
else
{
answer+=1000;
}
break;
}
pre = c;
}
return answer;
}
}
배운점
- 이전 자리의 문자를 비교할 때는
a[i] , a[i+1]
형태의 방식을 사용하자.
'코테 > LeetCode' 카테고리의 다른 글
<LeetCode>14_Longest Common Prefix (0) | 2021.02.20 |
---|---|
<LeetCode>03_09_Palindrome Number (0) | 2021.02.09 |
<LeetCode>02_07_ReverseInteger (0) | 2021.02.09 |
<LeetCode>01_01_TwoSum (0) | 2021.02.09 |