반응형
https://programmers.co.kr/learn/courses/30/lessons/12903
인덱싱과 슬라이싱 문제이다.
슬라이싱은 [i:i]이면 []을 리턴함을 주의한다.
인덱스에서 //2 를 하면 항상 내림을 하기 때문에.. 홀수의 경우 가운데, 짝수일 경우 가운데의 뒤를 가져온다.
5 -> 2 (01'2'34) 4 -> 2 (01'2'3)
따라서 해당 해설에서 뒤는 +1을 해주었으니 홀수의 경우 가운데, 짝수의 경우 문자 중심의 뒤까지 가져올 것이다.
앞은 어떻게 가져올까? 홀수의 경우 //2를 하면 가운데를 가져온다.
그런데 홀수의 경우 -1을 하나 안하나 몫이 차이가 없다.
짝수의 경우 -1을 하면 인덱스가 한칸 앞으로 간다. (몫이 하나 감소한다.)
따라서 홀수의 경우는 가운데 : 가운데+1이므로 하나의 값을 가져오게 되고
짝수의 경우는 문자중심앞 : 문자중심뒤+1 상태의 인덱스가 되므로 문자중심앞[2] 문자중심뒤[3] 이렇게 가져온다.
def solution(s):
return s[(len(s)-1)//2:len(s)//2+1]
반응형
'ETC' 카테고리의 다른 글
[LV1] 프로그래머스 나누어 떨어지는 숫자 배열 Python (0) | 2020.10.04 |
---|---|
[LV1] 프로그래머스 같은 숫자는 싫어 python (0) | 2020.10.04 |
[LV1] 프로그래머스 역순 정렬하기 mysql (0) | 2020.10.03 |
[LV1] 프로그래머스 2016년 python (0) | 2020.10.03 |
[LV1] 체육복 Python (0) | 2020.10.03 |