[프로그래머스] Lv1. 가운데 글자 가져오기

최대 1 분 소요

문제

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

제한 조건

  • s는 길이가 1 이상, 100이하인 스트링입니다.

나의 풀이:

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

len(s)//2 가 반복적으로 사용되어 여기에서 코드를 더 줄일 방법이 있을 것 같았는데 고민해도 더 나은 방법이 떠오르지 않았다…

다른 사람들의 풀이:

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

그런데 세상에… 내 코드에서 조건을 살짝만 바꿔서 len(s)-1 을 2로 나눈 몫을 슬라이싱의 시작값으로 해주면 s의 길이가 짝수일 때와 홀수일 때 상관없이 이렇게 한 줄의 코드로 같은 결과를 만들 수 있다.

댓글남기기