티스토리 뷰
안녕하세요. 죠쵸입니다.
네번째 LeetCode 문제 풀이 포스팅을 올립니다.
#LeetCode 13. Roman to Integer (Description)
이번 문제는 LeetCode 13번째 문제로 Roman 숫자를 입력받아서, 정수형 숫자로 변환하는 문제입니다. Roman 숫자는 아래와 같이 7가지 문자로 숫자를 표현합니다.
II의 경우 2를 의미하고, XII는 12를 의미합니다. LXI는 61을 의미합니다. Roman 숫자는 기본적으로 큰수부터 작은 수의 문자를 나열해서 표기하지만 작은 수의 문자를 앞에 두어 4(IV), 9(IX), 40(XL), 90(XC), 400(CD), 900(CM)을 아래와 같이 표기 할 수 있습니다. 아래의 예시를 참조 바랍니다.
#LeetCode 13. Roman to Integer (Solution)
제가 풀이한 방식은 각 Roman 숫자를 Dictionary로 셋팅해 놓고 입력된 문자열을 읽어 각 자릿수의 수가 다음 자릿수보다 크거나 같을 경우 더하고, 다음 자릿수보다 작을 경우 빼어서 최종 정수형 숫자를 구하였습니다. 처리하는 과정에서 입력 받은 문자를 리스트로 담아서, 문자 리스트를 다시 정수 리스트로 변환하였습니다. 아래의 코드를 참조 부탁 드립니다.
class Solution:
def romanToInt(self, s: str) -> int:
roman = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}
charList = list(s)
intList = []
for char in charList:
intList.append(roman.get(char))
retValue = 0
for i in range(0, (len(intList))):
if (i == len(intList)-1):
retValue += intList[i]
elif intList[i] >= intList[i+1]:
retValue += intList[i]
elif intList[i] < intList[i+1]:
retValue -= intList[i]
return retValue
제가 풀이한 내용 중에서 잘못된 부분이 있거나, 더 좋은 처리 방법이 있으시면 공유 부탁 드립니다. 더 멋있고 깔끔하고 효율적인 코드를 위해서는 많은 노력과 배움이 필요한 것 같습니다. 같이 성장해요~ :)
방문해 주셔서 감사합니다. 여러분의 공감하기(♥), 댓글과 구독은 저에게 힘이 됩니다.
이상으로 죠쵸였습니다.
'Programming > LeetCode' 카테고리의 다른 글
LeetCode 238.Product of Array Except Self (Python3) (0) | 2020.10.28 |
---|---|
LeetCode 561.Array Partition I (Python3) (2) | 2020.10.27 |
LeetCode 09.Palindrome Number (Python3) (3) | 2020.10.17 |
LeetCode 07.Reverse Integer (Python3) (20) | 2020.10.10 |
LeetCode 01.Two Sum (Python3) (0) | 2020.10.10 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- AdSense
- English
- Machine Learning
- 죠쵸
- Leetcode
- 328. Odd Even Linked List
- 파이썬
- 캐글
- ai
- 재귀함수
- kule
- 큘가방
- Pandas(판다스)
- joecho
- Leetcode255
- python
- 영어공부
- 데이터 분석
- Study
- 판다스
- ap news
- Big Data
- pandas
- 리바이스사이즈
- Kaggle
- 파이썬 독학
- 파이썬 기초
- 티파니T1
- 아디다스삼바화이트
- 리트코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함