문제 링크: https://leetcode.com/problems/roman-to-integer/description/ 로만 숫자를 10진수 숫자로 치환하는 간단한 문제였다.고려해야할 점은 보통 로만 숫자는 큰 숫자 -> 작은 숫자 순서로 쓰여지는데, 작은 숫자가 먼저온 후에 큰 숫자가 오면, 뒤에온 큰 숫자에 앞에 작은 숫자를 빼줘야한다는 점이었다. class Solution: def romanToInt(self, s: str) -> int: # largest -> smallest # exception: small -> large to substract roman = { "I": 1, "V": 5, "..
Algorithm/LeetCode
n의 약수를 찾고 그 중 k번째 숫자를 리턴하는 문제이다.간단한 문제였다. class Solution: def kthFactor(self, n: int, k: int) -> int: divisor = set([]) for i in range(1, int(n**(1/2)) + 1): if (n % i == 0): divisor.add(i) divisor.add(n // i) if k > len(divisor): return -1 return sorted(list(divisor))[k-1] 시간 복잡도약수를 구할 숫자: N=> O(1/2N) 다른..