가운데 글자 가져오기

Zero·2022년 4월 6일
0

Algorithm (Python)

목록 보기
6/8

def solution(s):
  if len(s) % 2 != 0:
    return s[round(len(s)/2)]
  elif len(s) % 2 == 0:
    return s[int(len(s)/2)-1 : int(len(s)/2)+1]
채점 결과
정확성: 93.8
합계: 93.8 / 100.0

풀이 해석
1. s의 길이를 구한다.
2. len(s)가 홀수면 2로 나눈 후 반올림한 수 인덱싱
3. len(s)가 짝수면 앞뒤글자를 슬라이싱한다.

하지만 테스트 5번에서 실패가 나왔다.

<수정>

def solution(s):
  if len(s) % 2 != 0:
    return s[round(len(s)//2)]
  elif len(s) % 2 == 0:
    return s[int(len(s)//2)-1 : int(len(s)//2)+1]

알고보니 인덱싱을 할 때 정수 부분의 수만 구하면 되기에 // 연산자를 써야 하는 것이었다.

<다른 사람의 풀이>

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

위의 식을 이용하면 힘들게 짝수와 홀수를 구분하지 않아도 된다.

profile
코딩 일기

0개의 댓글