파이썬으로 가운데 글자 가져오기

Joy Lee·2020년 10월 7일
0

python til

목록 보기
1/2

프로그래머스 가운데 글자 가져오기 를 풀며 연산자 % 랑 // 익히기

문제는 다음과 같다.

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.
단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

제한 사항
s는 길이가 1 이상, 100이하인 스트링입니다.

입출력 예
s return
abcde c
qwer we

파이썬으로 직접 코드를 짜 본 것은 난생 처음이라 함수 공식부터 리마인드 해야 했다.

1. 파이썬에서 함수를 쓰는 공식은?

def 함수명(인풋):
		코드1
		코드2 
		...
		return 아웃풋
        
#s라는 단어에 영향을 주는 solution라는 함수를 만들라고 했으니까

def solution(s):
    return 아웃풋

2. 단어의 길이를 구해서 홀수, 짝수로 나누자

🧐 홀수, 짝수 두 가지 경우가 있으니까 if, else를 써야겠다

  • 나머지 연산자 %
    어떤 정수를 2로 나누었을 때 나머지가 1이면 홀수, 0이면 짝수.
def solution(s):
	if len(s) % 2 == 1:
    		return 가운데 값
#s의 길이를 2로 나눈 나머지가 1이면 = 홀수면

"""
!POINT!
여기서 == 1은 쓰지 않아도 된다!
왜? 조건문에서는 '기냐 아니냐'를 보기 때문에, 
%를 2로 나눴기 때문에 0과 1의 값만 나오는 상황에서
숫자값 0은 False, 1은 True가 된다.
"""

#나머지가 1이 아니면 = 짝수면
	else:
		return 가운데 값에서 +1, -1

3. 가운데 글자를 반환하자

  • 나누기 연산자 //
def solution(s):
	if len(s) % 2 == 1:
		return s[len(s)//2]

#s의 리스트 s[]를 만들고 = 해당 인덱스의 '값'을 출력하기 위해
#len(s)//2한 인덱스의 값을 반환

	else:
		return 가운데 값에서 +_1 값

4. 짝수는 어떻게 하지?

def solution(s):
	if len(s) % 2 == 1:
		return s[len(s)//2]
	else:
		return s[(len(s)//2-1) : (len(s)//2+1)]

#짝수에서 출력하는 인덱스의 
#-1값 == len(s)//2-1)과 
#+1값 == (len(s)//2+1)을 함께 반환하자

5. 짠!

0개의 댓글