본문 바로가기

Algorithm/String

(Python3) - 프로그래머스(코딩 기초 트레이닝) : 문자열 여러 번 뒤집기

반응형

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문자열을 다뤄본 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

my_list를 선언해 my_string을 list형으로 변환해줍니다.

📔 풀이과정

queries의 각 원소를 for loop로 순회하며 다음을 진행합니다.slicing 규칙은 [start:end:step] 이므로 다음을 따릅니다.

 

  • start: 슬라이싱을 시작할 인덱스 (생략하면 처음부터 시작)
  • end: 슬라이싱을 종료할 인덱스 (생략하면 끝까지)
  • step: 요소를 얼마나 건너뛰면서 가져올지 (양수면 앞으로, 음수면 뒤로)

my_list의 시작과 끝 index의 원소들을 slicing해 역순으로 저장해줍니다.

 

📔 정답 출력 | 반환

 my_list를 빈 문자열을 구분자로 join하면 string이 되므로 해당값을 반환합니다.


📕 Code

📔 Python3

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

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.