•
문제 설명 : 제공된 문자가 문자열 내부에 존재한다면, 해당 문자열까지의 문자열은 뒤집어서 반환
•
풀이 방법
◦
제공된 문자가 문자열의 몇번째에 존재하는지 확인
◦
별도의 변수에 뒤집어진 문자열을 추가하고, 뒤집지 않은 나머지 문자열을 붙어줌
•
시간복잡도 :
•
성공 코드
# O(N + N + N) -> O(N)
class Solution:
def reversePrefix(self, word: str, ch: str) -> str:
new_word = ""
try:
# 실제 해당 문자가 존재하는지 확인하기 위해 순회 -> O(N)
find_index = word.index(ch)
except ValueError:
return word
# 최악의 경우 가장 마지막이 될 수 있으므로 역순으로 순회 -> O(N)
for i in range(find_index, -1, -1):
new_word += word[i]
# 나머지 문자열을 그대로 붙여줌(Slice) -> O(N)
new_word += word[find_index + 1 :]
return new_word
Python
복사