TIL #76 : [Algorithm] Programmers | 가운데 글자 가져오기

셀레스틴 허·2021년 2월 21일
0

ALGORITHM

목록 보기
11/18
post-thumbnail

가운데 글자 가져오기

문제

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

제한사항
s는 길이가 1 이상, 100이하인 스트링입니다.

입출력 예

s	return
abcde	"c"
qwer	"we"
def solution(s):
    answer = ''
    return answer

풀이

첫번째 시도

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

한마디로 dirty code다...

일단 len(s)를 변수로 빼는 다른 사람의 풀이를 보고 수정해봤다.

1.5번째 시도

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

깔끔해졌지만 더 효율적인 방법으로 이 문제를 풀 수 있다.

타 코드를 살펴보자.

타 유저 코드

# PignuAnte님의 코드 #

def string_middle(str):
    return str[(len(str)-1)//2:len(str)//2+1]
    
print(string_middle("power"))
profile
Software Developer / 고통은 필연, 괴로움은 선택

0개의 댓글