Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
프로그래머스 - '가운데 글자 가져오기' (PYTHON 풀이) 본문
문제:

단어를 입력받고, 그 단어의 가운데 글자를 반환하는 함수를 작성하면 된다.
단어의 길이가 짝수면 가운데 두글자를 반환해야 한다.
풀이:
def solution(s):
string_len = len(s)
if string_len % 2 != 0:
result = s[int(string_len/2)]
else:
result = s[int(string_len/2)-1:int(string_len/2)+1]
return result
먼저 문자열의 길이를 구한 뒤 string_len에 대입하였다. 문자열의 길이를 알아야 가운데 글자 한 개만 추출할지, 두 글자를 추출할지 결정할 수 있기 때문이다.
이후 문자열의 길이가 2로 나눠 떨어지지 않는다면 즉, 홀수라면 문자열의 길이를 2로 나눈 몫에(소수점 버림) 해당하는 자리를 인덱싱으로 출력하면 된다. (문자열의 가운데는 절반으로 나누어야 확인할 수 있기 때문에 2로 나눔)
또한, 문자열의 길이가 짝수라면(else 조건 부분) 홀수일 때와 마찬가지로 길이/2의 몫에서(소수점 버림) -1을 뺀 부분부터 그 다음 글자까지 (int(string_len/2)+1) 부분) 슬라이싱을 하면 가운데 글자 두 개를 추출할 수 있게 된다.
예를 들어 문자열이 'abcdef'라면 문자열의 길이는 6, 이를 2로 나눈 몫은 3이 된다. 그럼 인덱싱 기준 3은 'd'이기 때문에 -1을 해야 원하는 가운데 글자 중 첫번째인 'c'를 추출할 수 있다. 그리고 종료 조건은 +1을 해주어야 해당하는 부분까지 출력이 가능하므로 최종적으로 'cd'가 될 것이다.
'CODING 💻' 카테고리의 다른 글
| 프로그래머스 - '제일 작은 수 제거하기' (PYTHON 풀이) (0) | 2026.05.02 |
|---|---|
| 프로그래머스 - '서울에서 김서방 찾기' (PYTHON 풀이) (0) | 2026.05.01 |
| 프로그래머스 - '평균 구하기' (PYTHON 풀이) (0) | 2026.04.29 |
| 프로그래머스 - '핸드폰 번호 가리기' (PYTHON 풀이) (0) | 2026.04.28 |
| 프로그래머스 - '주사위 게임 1' (PYTHON 풀이) (0) | 2026.04.27 |
