CK week3 day2
🧨 문제
문자로 구성된 배열을 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 reverse_string(s):
for i in range(len(s)-1):
s.insert(i, s.pop())
return s
def reverse_string(s):
for i in range(len(s)-1):
s.insert(i, s.pop())
return s
입력 받은, s
의 i
번째 요소를,
s
의 n - i - 1
번째 요소로 만들고 s
를 반환 한다.
🏹 생각?
list
의 reverse()
method를 사용하면, 쉽게 풀 수 있지만, 평소에 사용 하지 않는 insert()
method를 사용하여 풀 수 없을까 생각 하다 이 방법으로 풀게 되었다.
그리고 그 과정에서 python에서
reverse()
와 reversed()
의 차이에 대해 알게 되었다.
reverse()
는 list
객체의 method로 원래의 리스트를 원소들의 순서를 거꾸로 뒤집은 리스트로 만든다.
s = [1, 2, 3, 4, 5] s.reverse() print(s) # [5, 4, 3, 2, 1]
reversed()
는 내장 함수로 dictionary
를 제외한 군집형 자료형을 뒤집은 객체를 반환하고, 이를 list
나 tuple
, str
로 형변환하여 사용한다.
(dictionary
자료형은 순서가 없으므로 뒤집을 순서가 없어서 그런듯 하다)
nums = [1, 2, 3, 4, 5] tups = ('a', 'b', 'c') letters = 'xyz' print(reversed(nums)) # <list_reverseiterator object at 0x7f24c89bb8d0> print(reversed(tups)) # <reversed object at 0x7f24cbf1bc88> print(reversed(letters)) # <reversed object at 0x7f24c7a1f668> print(list(reversed(nums))) # [5, 4, 3, 2, 1] print(tuple(reversed(tups))) # ('c', 'b', 'a') print(''.join(reversed(letters))) # 'zyx'
Author And Source
이 문제에 관하여(CK week3 day2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bufflect/CK-week3-day2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)