문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
재한사항- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s | return |
"adcde" | "c" |
"qwer" | "we" |
<풀이>
def solution(s):
if len(s) % 2 == 0:
return s[len(s)//2-1 : len(s)//2+1]
else:
return s[len(s)//2]
<설명>
1. 길이를 구하려면 --> len 함수 사용 --> len(s)
2. 입출력 예를보면 짝수일때와 홀수일때로 나뉘기 때문에 if문을 사용하여 짝수와 홀수로 나누기
3. 중앙값을 구하기 위해서 len(s) //2로 사용
💡return 값 앞에 s가 붙는 이유
문자열에서 특정 부분을 슬라이싱(slicing)하기 위해서!
s[start:end]는 문자열 s의 start 인덱스부터 end 인덱스 이전까지의 부분 문자열을 가져옴
따라서 s[(len(s) // 2) - 1: (len(s) // 2) + 1]는
- s[(len(s) // 2) - 1]는 문자열 s의 중앙 부분 바로 앞의 문자를 의미
- s[(len(s) // 2) + 1]는 문자열 s의 중앙 부분 바로 뒤의 문자를 의미
- 이 슬라이싱은 [(len(s) // 2) - 1]부터 [(len(s) // 2) + 1] 이전까지의 문자들을 추출
--> s는 슬라이싱하고자 하는 문자열을 나타내고, 그 뒤에 [start:end]로 슬라이싱 범위를 지정하는 것
'CODEKATA' 카테고리의 다른 글
[Python] 내적 (0) | 2024.08.22 |
---|---|
[Python] 수박수박수박수박수박수? (0) | 2024.08.21 |
[MySQL] 특정기간 동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2024.08.12 |
[MySQL] 입양 시각 구하기(2) (2) | 2024.08.07 |
[MySQL] 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2024.08.06 |