[프로그래머스] Lv1. 가운데 글자 가져오기
문제
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한 조건
- s는 길이가 1 이상, 100이하인 스트링입니다.
나의 풀이:
def solution(s):
if len(s) % 2 == 0:
return s[(len(s)//2)-1:len(s)//2+1]
else:
return s[len(s)//2]
len(s)//2 가 반복적으로 사용되어 여기에서 코드를 더 줄일 방법이 있을 것 같았는데 고민해도 더 나은 방법이 떠오르지 않았다…
다른 사람들의 풀이:
def solution(s):
return s[(len(s)-1)//2:len(s)//2+1]
그런데 세상에… 내 코드에서 조건을 살짝만 바꿔서 len(s)-1 을 2로 나눈 몫을 슬라이싱의 시작값으로 해주면 s의 길이가 짝수일 때와 홀수일 때 상관없이 이렇게 한 줄의 코드로 같은 결과를 만들 수 있다.
댓글남기기