[Leetcode] 13. Roman to Integer โ
Problem โ
๋ก๋ง๊ฐ์ ์ซ์๋ก ํํํ๊ธฐ
Symbol | Value |
---|---|
I | 1 |
V | 5 |
X | 10 |
L | 50 |
C | 100 |
D | 500 |
M | 1000 |
Solution โ
- ๋ก๋ง ์ฌ๋ณผ์ ๋ฐฐ์ด์ ๋ด๋ฆ์ฐจ์์ผ๋ก ์์ฑํ๋ค.
- ๋ฌธ์์ด ์ฒซ๋ฒ์งธ๋ถํฐ ์ฌ๋ณผ์ด ์กด์ฌํ๋ ์ฌ๋ถ๋ฅผ ํ์
ํ๋ค. ์ฌ๋ณผ์ด ์กด์ฌํ๋ค๋ฉด ํด๋น ์ฌ๋ณผ์ ๊ธธ์ด๋งํผ ์ธ๋ฑ์ค๋ฅผ ์ด๋์์ผ ์ฐพ๊ณ ์ํ๋ ์ฌ๋ณผ์ด ์ธ๋ฑ์ค์ ์ฒซ๋ฒ์งธ ๊ฐ์ธ์ง ํ์
ํ๋ค.
- ๋ค์ชฝ์ ์ฌ๋ณผ์ด ์ฒดํฌ๋๋๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด์...
- ๋ฌธ์์ด์ ๋๋ฉด์ ์ฌ๋ณผ์ ํด๋น ๊ฐ๋งํผ ํฉ์ ๊ตฌํ๊ณ ๋ฐ๋ณต๋๋ ์ฌ๋ณผ์ ๋ฐ๋ณต๋๋ ๋งํผ ๋ํ๋ค.
JS CODE โ
javascript
/**
* @param {string} s
* @return {number}
*/
var romanToInt = function(s) {
let answer = 0
let index = 0
const romans = [
[1000, 'M'],
[900, 'CM'],
[500, 'D'],
[400, 'CD'],
[100, 'C'],
[90, 'XC'],
[50, 'L'],
[40, 'XL'],
[10, 'X'],
[9, 'IX'],
[5, 'V'],
[4, 'IV'],
[1, 'I'],
]
for(const [value, symbol] of romans) {
while (s.indexOf(symbol,index) === index) {
answer += value
index += symbol.length
}
}
return answer
};