codekata

[프로그래머스] #30 가운데 글자 가져오기 (슬라이싱)

kinggoddino 2024. 7. 30.

▶ 문제

단어 s의 가운데 글자를 반환하는 함수 solution 만들기. 단어의 길이가 짝수라면 가운데 두 글자 반환하면 됨.

 

 제한사항

s는 길이가 1 이상, 100 이하인 스트링

 

▶ 풀이

def solution(s):
    if len(s) % 2 == 1:
        return s[len(s)//2]
    else:
        return s[len(s)//2-1] + s[len(s)//2]

통과!

 

 

우와 다른사람 풀이 구경

슬라이싱을 이용할 수도 있다! 주의할 점은

슬라이싱 [start : stop] 에서 stop 지점 요소는 포함되지 않는다

range랑 똑같네

word = "power"

start = (len(word) - 1) // 2
stop = len(word) // 2 + 1      # 미포함

print(word[start:stop])        # w

 

이걸 이용해서 다시 짜보면

def solution(s):
    return s[(len(s)-1)//2 : len(s)//2+1]

통과!