[프로그래머스] 문자열 여러 번 뒤집기

융쬬·2024년 4월 1일

Algorithm

목록 보기
1/24

문제 바로가기

https://school.programmers.co.kr/learn/courses/30/lessons/181913

 

💡 문제 분석 요약

  • 문자열 my_string과 이차원 정수 배열 queries가 매개변수로 주어집니다.
  • queries의 원소는 [s, e] 형태로, my_string의 인덱스 s부터 인덱스 e까지를 뒤집으라는 의미입니다.
  • my_string에 queries의 명령을 순서대로 처리한 후의 문자열을 return 하는 solution 함수를 작성해 주세요.

ex)

my_stringqueries출력
"rermgorpsam”[[2, 3], [0, 7], [5, 9], [6, 10]]"programmers”

 

💡 나의 코드

def solution(my_string, queries):
    my_string = list(my_string)
    
    for s, e in queries:
        if s==0:
            my_string[s:e+1] = my_string[e::-1]
        else:
            my_string[s:e+1] = my_string[e:s-1:-1]
            
    return "".join(my_string)

 

💡 수정한 풀이

def solution(my_string, queries):
    my_string = list(my_string)
    for s,e in queries:
        my_string[s:e+1] = my_string[s:e+1][::-1]
        
    return "".join(my_string)

 

💡 느낀점

  • my_string[e:s-1:-1] 로 하면, s가 0일 때 빈 배열([])로 처리되어 이 부분에서 조금 헤맸다.
  • 그래서 if문으로 처리를 해줬는데, 다른 사람들의 풀이를 보니 일단 my_string[s:e+1]로 배열을 불러온 후 [::-1]로 역행하도록 처리해줬다.
profile
영어공부 하는 Computer Scientist

0개의 댓글