[python]가운데 글자 가져오기

eunvi·2021년 12월 23일
0

프로그래머스

목록 보기
23/25
post-thumbnail

연습문제>가운데 글자 가져오기

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


[제한사항]

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

[입출력 예]


나의 풀이

생각해보기!

def solution(s):
    return s[len(s)//2] if len(s)%2 == 1 else s[len(s)//2-1:len(s)//2+1]
  • // ➡ 나눴을 때 몫을 출력하는 기호
  • % ➡ 나눴을 때 나머지를 출력하는 기호
  • s의 길이가 홀수이면 ➡ if len(s)%2 == 1
  • 가운데 한 글자만 출력 ➡ s[len(s)//2]
  • 그렇지 않으면 가운데 두 글자 출력
    else s[len(s)//2-1:len(s)//2+1]

어렵지 않았지만 간단하게 나타내기 위해 생각하는 시간이 좀 걸렸다.🤔

다른 사람의 풀이 #1

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

참고하세요!

  • if문을 쓰지 않고 나눗셈의 몫을 활용하여 간단하게 나타냈다.

다른 사람의 풀이 #2

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

참고하세요!

  • 문자열의 길이가 짝수일 때와 홀수일 때를 나누어 슬라이싱할 인덱스 값을 받았다.
  • 리스트의 앞과 뒤에서 짝수일 때는 겹치지 않도록 홀수일 때는 겹치도록 슬라이싱했다.
profile
please study

0개의 댓글

Powered by GraphCDN, the GraphQL CDN