[프로그래머스/파이썬] 가운데 글자 가져오기

🔒 문제 (프로그래머스 링크)

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

sreturn
"abcde""c"
"qwer""we"

🔑 내 답안

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

🔐 풀이

이 문제에서 알아야 할 함수

% : 나머지를 구하는 함수
//: 몫을 구하는 함수 (소수점은 버림)
len(): 문자의 개수를 반환

풀이과정

def solution(s):
    if len(s) % 2 == 0 : # 문자의 길이가 짝수라면
        answer = s[len(s)//2-1]+s[len(s)//2] #가운데 숫자 두 개 합치기
    else : # 문자의 길이가 짝수가 아니라면
        answer = s[len(s)//2]
    return answer

문자의 개수가 짝수일 때, 홀수일 때를 ifelse를 통해 구분해준다.
문자의 개수를 반환하는 len() 함수를 써준다.

  • 문자의 길이가 짝수라면 문자의 길이에 2를 나눈 몫 순서에 있는 값과 그 바로 앞의 값을 +를 사용해 합쳐준다.
  • 문자의 길이가 홀수라면 문장의 길이에 2를 나눈 값의 순서에 있는 값을 반환하면 된다.
문자의 길이가 홀수일 때 예시

s가 'abcde' 라면, len(s) = 5이고 5를 2로 나누면 2.5가 된다.
여기에서 python3에서 '//'는 소수점을 날려준다.
그래서 5//2 = 2가 된다.
그러므로, s[2] = 'c' 가 된다.

문자의 길이가 짝수일 때 예시

s가 'qwer' 라면, len(s) = 4이고 4를 2로 나누면 2가 된다.
그래서 4//2 = 2, 4//2-1 = 1 이 된다.
그러므로, s[1] + s[2] = 'we' 가 된다.

좋은 웹페이지 즐겨찾기