프로그래머스-문자열 뒤집기(링크바로가기)
(나의 풀이방법)
def solution(my_string):
answer = ''
answer = "".join(reversed(my_string))
return answer
(다른 사람의 풀이방법)
def solution(my_string):
return my_string[::-1]
이번에는 join 함수와 reversed를 활용해 문제를 풀었다.
''.join(리스트)
''.join(리스트)를 이용하면 매개변수로 들어온 ['a', 'b', 'c'] 이런 식의 리스트를 'abc'의 문자열로 합쳐서 반환해주는 함수인 것입니다.
'구분자'.join(리스트)
'구분자'.join(리스트)를 이용하면 리스트의 값과 값 사이에 '구분자'에 들어온 구분자를 넣어서 하나의 문자열로 합쳐줍니다.
'_'.join(['a', 'b', 'c']) 라 하면 "a_b_c" 와 같은 형태로 문자열을 만들어서 반환해 줍니다.
처음에 소개 해준 ''.join(리스트)는 '구분자'.join(리스트)에서 '구분자'가 그냥 공백인 것과 같습니다.
즉, 정리하자면 join함수의 찐 모양은 '구분자'.join(리스트) 입니다.
참고링크(개발자지망생)
reverse는 list타입에서 제공하는 함수이다.
reverse는 값을 반환하지 않고, 단순히 해당 list를 뒤섞어준다.
reversed는 내장함수로, list에서 제공하는 함수가 아니다.(딕셔너리 제외하고 가능)
reversed는 ‘reversed’ 객체를 반환한다.
l = ['a', 'b', 'c']
l_reverse = l.reverse()
print(l_reverse) # None
print(l) # ['c', 'b', 'a']
참고링크
reverse, reversed에 알아보니 내 선호는 reversed 가 더 좋은 것 같다. 그리고 join함수와 왜 같이 사용하는지 알 것 같다.
문자열로 반환할 때 reversed와 join은 주로 함께 쓰이는군!
참고로 배열뒤집기-다른사람의 풀이방법1과 문제 풀이방법이 동일하다.