[문제]
[해결]
나의 풀이
def solution(s):
if len(s) % 2 == 1:
return s[(len(s)//2)]
else:
return s[(len(s)//2)-1:(len(s)//2)+1]
다른 사람의 풀이
def solution(str):
return str[(len(str)-1)//2 : len(str)//2 + 1]
[정리 및 새롭게 알게 된 점]
나의 경우 if else 구문을 이용해 s의 길이가 홀수인 경우와 그렇지 않은 경우(짝수)로 나누어 각각의 string에 대해 가운뎃 값을 반환하는 코드를 작성하였다. 하지만 다른 사람의 풀이와 같이 slicing의 첫째값으로 (len(str)-1)//2를 해준다면 str이 홀수인경우 (len(str)-1)//2 값이 변하지 않고 짝수인 경우는 (len(str)-1)//2 값이 -1만큼 작아지므로 홀수값인 경우 중간값을 시작점으로 하고 짝수인 경우 가운데 두글자의 첫부분에서 slicing을 시작하게 되어 따로 if else 구문을 이용하지 않아도 한줄만으로 홀수인 경우와 짝수인 경우의 결괏값을 모두 만족할 수 있다.
'Coding Test' 카테고리의 다른 글
[Python 프로그래머스] 수박수박수박수박수박수? (0) | 2024.06.19 |
---|---|
[SQL 프로그래머스] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2024.06.18 |
[SQL 프로그래머스] 인기있는 아이스크림 (0) | 2024.06.17 |
[SQL 프로그래머스] 12세 이하인 여자 환자 목록 출력하기 (0) | 2024.06.17 |
[SQL 프로그래머스] 진료과 별 총 예약횟수 출력하기 (0) | 2024.06.17 |