Lv1. 가운데 글자 가져오기 ( Python )


Lv1. 가운데 글자 가져오기

# 문제 설명

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

# 제한 사항

  • s는 길이가 1 이상, 100이하인 스트링입니다.

# 입출력 예

s Return
“abcde” “c”
“qwer” “we”


문제 해결 시 고려사항

  • 홀/짝 구분 및 문자열 슬라이싱

본 문제는 단어 s가 주어지면 해당 단어의 가운데 글자를 가져오는 문제이다. 이 문제에서 고려할 사항은 크게 두 가지이다. 홀수와 짝수경우를 나누어 처리 해주는 것과 가운데 글자가 2글자인 경우에서의 문자열 반환이다. 우선 홀수/짝수 검사를 위해 아래와 같이 s의 길이를 닮은 length를 선언하였다.

 # 입력된 s의 길이를 저장(홀수, 짝수 검사를 위함)
 length = len(s)


이 후, 단어의 길이가 홀수이면, 가장 중앙의 인덱스에 위치한 단 하나의 문자만을 반환하여주면 된다. 단어의 길이가 짝수이면, 가운데에 위치한 글자는 두 글자이다. 따라서 해당 인덱스 구간을 계산하여보면 시작 인덱스는 length//2 -1이고, 끝 인덱스는 legnth//2임을 알 수 있다. 해당 인덱스 구간의 문자열을 슬라이싱하여 아래와 같이 반환하여 준다.

 # s의 길이가 홀수이면, 인덱스를 2로 나눈 위치(나머지 버림)의 문자 반환
     if length % 2 == 1:
         answer = s[length//2]
     # s의 길이가 짝수이면, (인덱스를 2로 나눈 위치-1)부터 인덱스를 2로 나눈 위치까지의 문자열 반환
     else:
         answer = s[length//2-1:length//2+1]



전체 코드

def solution(s):
    answer = ''
    # 입력된 s의 길이를 저장(홀수, 짝수 검사를 위함)
    length = len(s)
    # s의 길이가 홀수이면, 인덱스를 2로 나눈 위치(나머지 버림)의 문자 반환
    if length % 2 == 1:
        answer = s[length//2]
    # s의 길이가 짝수이면, (인덱스를 2로 나눈 위치-1)부터 인덱스를 2로 나눈 위치까지의 문자열 반환
    else:
        answer = s[length//2-1:length//2+1]
    return answer