파이썬 알고리즘 인터뷰 6장 2번 문자열 뒤집기 (리트코드 334)

Kim Yongbin·2023년 8월 12일
0

코딩테스트

목록 보기
2/162

Problem

LeetCode - The World's Leading Online Programming Learning Platform

문자열을 뒤집는 함수를 작성하라. 입력값은 문자 배열이며, 리턴 없이 리스트 내부를 직접 조작하라

You must do this by modifying the input array in-place with O(1) extra memory.

Example 1:

Input: s = ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]

Example 2:

Input: s = ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]

Solution

class Solution:
    def reverseString(self, s: List[str]) -> None:
        """
        Do not return anything, modify s in-place instead.
        """
        s.reverse()
  • .reverse()
    • 새로운 리스트를 생성하지 않고 기존 리스트의 순서를 역순으로 재정렬한다.

Wrong Solution

  • s = s[::-1]
    슬라이싱을 통해서도 해당 리스트를 역순으로 재 정렬할 수 있다. 하지만 이 경우에 새로운 리스트 객체를 생성해서 s에 재할당한다. 즉, 입력값 s와 결과값 s는 서로 다른 객체를 지칭하고 있게 된다.

Result

Reference

https://www.daleseo.com/python-reversed/

profile
반박 시 여러분의 말이 맞습니다.

0개의 댓글