본문 바로가기
코딩테스트/프로그래머스

[Python3] 코딩테스트 Lv.1 - 순서쌍의 개수

by tout l'été 2023. 10. 30.

코딩테스트 문제 > 모든 문제 > 난이도 : Lv.1

https://school.programmers.co.kr/learn/courses/30/lessons/12903

 


 문제 설명

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

 

입출력 예

s return
"abcde" "c"
"qwer" "we"
 

내가 쓴 코드

def solution(s):
    answer = ''
    length = len(s) # s의 문자열 길이
    if length % 2 == 1: # 길이가 홀수일 경우
        answer = s[length // 2] # s의 인덱스는 길이의 몫
    else: # 길이가 짝수일 경우 
        answer = s[length // 2 - 1:length // 2 + 1] # s의 인덱스는 길이의 (몫-1 ~ 몫) 
    return answer

 

다른 사람의 풀이 

def string_middle(str):
    return str[(len(str)-1)//2 : len(str)//2 + 1]

 

 

if문을 쓸 필요도 없이 몫과 인덱스 슬라이싱을 사용해서 한 줄 코드를 작성했네요 

감탄합니다.