<TIL-13>코딩테스트 연습문제 리뷰(프로그래머스)

김건우·2020년 7월 12일
0
post-custom-banner

가운데 글자 가져오기

내 문제 풀이

def solution(s):
    if len(s) % 2 == 0 :
        set = int(len(s)/2)
        answer =  s[set-1:set+1]
    else :
        set = int(len(s)/2)
        answer = s[set]
    return answer
  • s에 문자열이 들어왔을 때, 2로 나눈 나머지가 없다면 짝수 이므로, 가운데 두개의 문자열을 가지고 와야한다.
  • s문자열을 슬라이싱을 하여, 가운데 두글자를 가져올 수 있도록 하였다.

가장 추천을 많이 받은 풀이법 과 배운 것

def solution(s):
    return s[(len(s)-1)//2:len(s)//2+1]
  • 파이썬의 // 연산자 : 좌항을 우항으로 나누어 '정수형'으로 반환한다.
  • (len(s)-1)//2 는 len(s)-1 이 홀수여도, float형이 아닌 int형으로 반환하여 준다.
  • 'qwer'의 경우 3//2 의 연산이 이뤄지게 되는데, 몫인 1이 출력된다.

느낀점

  • 나는 len(s)/2를 슬라이싱에 활요하기 위해, 혹시 2로 나누어 지지 않는 수가 왔을 경우에도 슬라이싱이 될 수 있도록 int형으로 바꾸어 주는 과정을 거쳤지만,
    // 를활용한다면 연산 후 자동으로 int형으로 수를 출력하여 주므로 더 효율적인 코드를 짤 수 있다.
profile
꾸준하게 공부하기
post-custom-banner

0개의 댓글