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


날짜: 2021년 5월 15일
소요 시간: 5분 48초
카테고리: 인덱싱
태그: 레벨1, 파이썬

코딩테스트 연습 - 가운데 글자 가져오기

입출력 예시

sreturn
“abcde”“c”
“qwer”“we”

내가 적은 코드

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

풀이 과정

s 길이를 반으로 나누었을 때
나머지가 1이면(문자열의 길이가 홀수이면) ‘길이의 반’번째 있는 문자(하나)를 가져왔고
나머지가 0이면(문자열의 길이가 짝수이면) ‘길이의 반-1’~’길이의 반’번째 있는 문자(둘)를 가져왔다.

베스트 코드

def string_middle(str):
    return str[(len(str)-1)//2:len(str)//2+1]

반성

  • 인덱스 슬라이싱의 개념을 확실하게 잡지 못해 s[a:b] 부분을 헷갈려서 시간이 많이 소요되었다.
  • 사실 다시 코드 짜라고 해도 베스트 코드는 생각 못해낼 것 같긴하다.




© 2021. by hminkim