•
문제 링크 : LeetCodeTo Lower Case - LeetCode
•
문제 설명 : 제공된 문자열을 소문자로 바꾸어 반환한다.
•
풀이 방법
◦
방법은 2가지이다.
▪
s.lower() 를 사용하여 바로 반환
•
단순히 아스키 코드의 변환뿐 아니라, 유니코드 문자열의 모든 문자를 처리하기 때문에 아래와 같은 직접 아스키코드 값을 바꾸는 방식보다는 느리다고 한다.
▪
각 문자열의 ASCII에 맞는 정수를 사용하여 변환하는 방법
•
ord / chr 을 사용
•
이 방법이 시간복잡도가 훨씬 낮아서, 이 방법으로 사용했다.
•
시간복잡도 :
•
성공 코드
# 시간 복잡도 : O(N)
class Solution:
def toLowerCase(self, s: str) -> str:
result = ""
# 모든 문자열 순회 -> O(N)
for ch in s:
if 'A' <= ch <= 'Z':
# 소문자는 대문자보다 ASCII 코드 값이 32만큼 더 크다.
result += chr(ord(ch) + 32)
else:
result += ch
return result
Python
복사