AnnSEo.log

[leetcode] 13. Roman to Integer 본문

코테

[leetcode] 13. Roman to Integer

AnnSEo2105 2021. 10. 26. 18:54

 

 

분석

 

처음에 데이터 key value로 넣고 이걸 어떻게 접근하는지부터 어떻게 어떻게 계산을 했다가 테스트 통과가 안되길래 뭔가 했더니 문제를 제대로 안 읽었네!

앞에 I, X 같은게 오면 빼는 규칙이 있었다. 

그걸 어떻게 해결할까 고민하다가

만약 앞에 오는 숫자가 뒤에 숫자보다 작다면? 빼고, 크면 그냥 더하면 되겠구나!

 

해서 다시 문제를 풀었다. 

 

var romanToInt = function(s) {
    let roman = {I: 1, V: 5, X: 10, L: 50, C: 100, D: 500, M: 1000 };
    let sum = 0;

    for (let x = 0; x < s.length; x++){
        let n = s[x];
        let m = s[x+1]
        if (roman[n] < roman[m]){
            sum -= roman[n] 
        } else {
            sum += roman[n];
        }
        
    }
    
    return sum;
    
};

 

 

야호!! 성공했다.

 

요거는 Discuss 에 업보팅 많이 받은 순으로 2개 봤는데 파이썬이나 C++이나 내가 쓴 거랑 큰 차이가 없어서 그냥 더 안 봐도 될 거 같다. 

 

'코테' 카테고리의 다른 글

[leetcode] palindrome number  (0) 2021.10.26
[leetcode] Two Sum  (0) 2021.10.26