Python: Code Taka 3주차 2
Q. 문제: 문자로 구성된 배열을 input으로 전달하면, 문자를 뒤집어서 return 해주세요.
새로운 배열을 선언하면 안 됩니다.
인자로 받은 배열을 수정해서 만들어주세요.
Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
나의 답
def reverseString(s):
return s[::-1]
def reverseString(s):
return s.reverse()
이제는 너무나 쉬운 문자열 뒤집기 문제이다. 첫번 째 코드가 가장 pythonic 한 답이다. 문자열의 순서를 조작하는 것에 있어서 슬라이싱이 가장 빠르다. list.reverse() 를 써도 무방하지만, list.reverse() 는 슬라이싱 보다 속도가 느리다.
새로운 배열을 선언해서는 안되며, 인자로 받은 배열을 수정해야 하기 때문에 뒤집은 값을 바로 리턴하였다.
투포인터를 활용한 방식은 아래와 같다.
def reverseString(s):
left = 0
right = len(s) - 1
while left < right:
s[left], s[right] = s[right], s[left]
left += 1
right -= 1
return s
Author And Source
이 문제에 관하여(Python: Code Taka 3주차 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pm1100tm/Python-Code-Taka-12일차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)