본문 바로가기
Problem Solving/프로그래머스

[프로그래머스] 연습문제 "가운데 글자 가져오기"(파이썬)

by 청량리 물냉면 2022. 5. 5.
반응형
문제

https://programmers.co.kr/learn/courses/30/lessons/12903

 

코딩테스트 연습 - 가운데 글자 가져오기

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret

programmers.co.kr

 

 

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

 

 

코드 설명

 

1. 문자열의 길이 s가 2로 나누어지지 않는다면, (문자열의 길이가 홀수라면)

문자열 길이를 2로 나눈 몫을 인덱스로 한 문자 리턴.

 

ex. s = "abcde" 인 경우 len(s) = 5

5 // 2 == 2

s[2] = "c" 리턴

 

 

2. 문자열의 길이 s가 2로 나누어진다면, (문자열의 길이가 짝수라면)

문자열 길이를 2로 나눈 몫 -1 을 인덱스로 한 문자열부터 + 1까지의 문자열을 슬라이싱 해 리턴.

 

ex. s = "abcd" 인 경우 len(s) = 4

4 // 2 - 1 == 1

4 // 2 + 1 == 3

s[1:3] = "bc" 리턴

 

*문자열 슬라이싱을 할 때 [시작번호: 끝번호]로 지정을 하되, 끝 번호에 해당하는 것은 포함하지 않는다는 사실을 주의

 

 

반응형