[개발]programmers/Python3

Lv.0_문자열 여러 번 뒤집기

dowon 2023. 7. 17. 10:21

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

 

프로그래머스

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

programmers.co.kr

나의 풀이

def solution(my_string, queries):
    my_string = list(my_string)

    for i in range(len(queries)):
        start = queries[i][0]
        end = queries[i][1]

        f = my_string[:start]
        s = list(reversed(my_string[start:end+1]))
        t = my_string[end+1:]

        my_string = f + s + t

    return ''.join(my_string)

s에서 list(reversed(--)) 하는 부분에서 애를 꽤 먹었다

리스트를 뒤집을 땐 다시 list 함수를 씌워줘야 한다는 것을 잊지 말자

 

다른 사람의 풀이

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

이런 획기적인 방법이!

내가 한 코딩이 마치 원시인이 뗀석기를 가지고 뚜땅기는 모습이 생각난다....

앞으로는 이렇게 스마트하게 코딩하도록 노력하자

'[개발]programmers > Python3' 카테고리의 다른 글

Lv.1_햄버거 만들기  (0) 2023.07.18
Lv.0_특이한 정렬  (0) 2023.07.17
Lv.1_모의고사  (0) 2023.06.30
Lv.0_유한소수 판별하기  (0) 2023.06.30
Lv.0_영어가 싫어요  (0) 2023.06.17