[프로그래머스 / lv.1] 가운데 글자 가져오기
in Problem Solving on Programers
날짜: 2021년 5월 15일
소요 시간: 5분 48초
카테고리: 인덱싱
태그: 레벨1
, 파이썬
입출력 예시
s | return |
---|---|
“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] 부분을 헷갈려서 시간이 많이 소요되었다.
사실 다시 코드 짜라고 해도 베스트 코드는 생각 못해낼 것 같긴하다.