반응형
문제
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" 리턴
*문자열 슬라이싱을 할 때 [시작번호: 끝번호]로 지정을 하되, 끝 번호에 해당하는 것은 포함하지 않는다는 사실을 주의
반응형
'Problem Solving > 프로그래머스' 카테고리의 다른 글
[프로그래머스 | 파이썬] 비밀지도 (2018 KAKAO BLIND RECRUITMENT/ level 1) (0) | 2022.12.28 |
---|---|
[프로그래머스 | 파이썬] 카펫 (완전탐색 / level 2) (0) | 2022.12.28 |
[프로그래머스] 연습문제 "같은 숫자는 싫어"(파이썬) (0) | 2022.05.14 |
[프로그래머스] 위클리 챌린지 "부족한 금액 계산하기"(파이썬) (0) | 2022.05.05 |
[프로그래머스] 연습문제 "x만큼 간격이 있는 n개의 숫자"(파이썬) (0) | 2022.05.04 |
[프로그래머스] 연습문제 "핸드폰 번호 가리기"(파이썬) (0) | 2022.05.02 |