Python(알고리즘,문제풀이)/프로그래머스(코딩기초트레이닝)
코딩기초트레이닝 / 문자열 여러 번 뒤집기
박혀노
2023. 10. 12. 11:44
728x90
📚문제
📝풀이
# 내 틀린 코드
for i in queries:
if i[0]==0:
my_string = my_string.replace(my_string[i[0]:i[1]+1], my_string[i[1]::-1])
print(my_string)
else:
my_string = my_string.replace(my_string[i[0]:i[1]+1], my_string[i[1]:i[0]-1:-1])
print(my_string)
전에 비슷한 (문자열 슬라이싱 or 문자열 순서 변경 등) 문제에서도
보통 replace가 제일 먼저 떠올라서 replace로 시도한다
그러면 예를 들어 my_string이 고정되어야 하는데 변경이 되거나 할 수도 있고
특히 이 문제에서는 원하는 부분 말고 다른 부분에서도 똑같은 문자열이 있다면 거기도 변경이 될 수 있는 문제가 있다
def solution(my_string, queries):
for start, end in queries:
my_string = my_string[:start] + my_string[start:end+1][::-1] + my_string[end+1:]
return my_string
그래서 이렇게 변경되는 부분의 앞/뒤로 문자열 슬라이싱하여 결합하는 방법을 사용하는것이 좋다
728x90