# 내 코드
def solution(s):
if len(s) % 2 == 0:
answer = s[len(s) // 2 - 1] + s[len(s) // 2]
else:
answer = s[len(s) // 2]
return answer
# 남 코드
def string_middle(str):
return str[(len(str)-1)//2 : len(str)//2 + 1]
일단 +보다는 슬라이싱이 연산 시간을 줄이는데 유리하다고 한다. 하지만 가장 신박하게 느껴졌던 것은 str[(len(str)-1)//2 : len(str)//2 + 1] 이 조건으로 홀수와 짝수일 경우를 완벽하게 나누어 슬라이싱이 가능하다는 점이다. 리스트 길이가 짝수의 경우에는 나머지를 만들게 하여 2개의 값을 슬라이싱하게 하고, 홀수의 경우에는 가운데 값만을 슬라이싱한다.
어떻게 하면 코드를 짤 때 저런 아이디어를 생각할 수 있는지...