내 문제 풀이
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형으로 수를 출력하여 주므로 더 효율적인 코드를 짤 수 있다.