STUDY 기록/코테기록
[프로그래머스] 가운데 글자 가져오기
TREEKIM
2022. 6. 20. 21:18
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
재한사항- s는 길이가 1 이상, 100이하인 스트링입니다.
"abcde" | "c" |
"qwer" | "we" |
내가 푼 풀이
def solution(s):
len_s = len(s)
mid = int(len_s/2)
if len_s % 2 == 0:
answer = s[mid-1:mid+1]
elif (len_s-1) % 2 == 0:
answer = s[mid]
return answer
다른 사람의 풀이
def string_middle(str):
# 함수를 완성하세요
return str[(len(str)-1)//2:len(str)//2+1]
(len(str)-1)//2 이부분이 짝수냐 홀수냐에 상관없이 만드네요. 인덱스는 항상 0 번째부터 출발하니까, length를 아에 1을 빼버리고 //2를 한다면 짝수는 1을 하나 더빼서 그전의 인덱스부터 가져올 수 있군요. 잘 배웠습니다.
def string_middle(str):
a = len(str)
if a % 2 == 0 :
a = (a-2) / 2
else :
a = (a-1) / 2
return str[int(a) : -int(a)]
와 두번쨰 범위 -값으로 표현하다닝! 한수 배워갑니다
짝수일때 -1 대신 정수에서 2 빼고 /2 한거 예술이네
def string_middle(str):
leng = len(str)
if leng%2==0:
return str[leng//2-1:leng//2+1]
else:
return str[leng//2]
solution = lambda s: s[(len(s) - 1) // 2 : len(s) // 2 + 1]