Algorithm šŸ§‘šŸ»‍šŸ’»/Leetcode

[Leetcode,c++] Roman to Integer

dkswnkk 2021. 11. 15. 18:28

문제

 

Roman to Integer - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

ģ½”ė“œ

class Solution {
public:
    int sum=0;

    int roman_to_int(char c1,char c2){
        bool flag = true;
        if(c1=='I'){
            if(c2=='V'){
                sum+=4;
                flag = false;
            }
            else if(c2 =='X'){
                sum+=9;
                flag = false;
            }
            else sum+=1;
        }
        else if(c1=='V') sum+= 5;
        else if(c1=='C'){
            if(c2=='D'){
                sum+=400;
                flag = false;
            }
            else if(c2 =='M'){
                sum+=900;
                flag = false;
            }
            else sum+=100;
        }
        else if(c1=='X'){
            if(c2=='L'){
                sum+=40;
                flag = false;
            }
            else if(c2 =='C'){
                sum+=90;
                flag = false;
            }
            else sum+=10;
        }
        else if(c1=='L') sum+=50;
        else if(c1=='D') sum+=500;
        else if(c1=='M') sum+=1000;

        return flag;
    }

    int romanToInt(string s) {
        for(int i=0; i<s.length(); i++){
            if(!roman_to_int(s[i],s[i+1])) i++;

        }
        return sum;
    }
};

 

ķ’€ģ“

ė‹Øģˆœ źµ¬ķ˜„ ė¬øģ œģ˜€ģŠµė‹ˆė‹¤.

Symbol       Value
I             1
V             5
X             10
L             50
C             100
D             500
M             1000

기본적으딜 ģœ„ģ™€ ź°™ģ€ ź°’ģœ¼ė”œ ė³€ķ™˜ģ„ 핓주멓 ė˜ģ§€ė§Œ ģ•„ėž˜ģ™€ ź°™ģ“ I뒤에 Vė‚˜ X, X뒤에 Lģ“ė‚˜ C, C뒤에 Dė‚˜ Xź°€ 올 ź²½ģš°ģ—ėŠ” ģ•„ėž˜ģ™€ ź°™ģ€ ź°’ģœ¼ė”œ ė°˜ķ™˜ķ•“ģ¤˜ģ•¼ ķ•©ė‹ˆė‹¤.