본문 바로가기
Algorithm/Programmers

[Algorithm] 프로그래머스 - 가운데 글자 가져오기

by 홍월이_ 2022. 12. 19.

시작하며...

모든 알고리즘 문제 풀이는 제가 직접 짜서 정답을 맞춘 결과만을 공유합니다.

마지막 'More Solution'은 다른 정답자들 풀이 중 생각지 못했던 부분들이나 좋게 느껴진 풀이법 몇개를 가져와서 공유하였습니다.

 

[Level 1] 가운데 글자 가져오기

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

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

제한사항

  • s는 길이가 1 이상, 100이하인 스트링입니다.

입출력 예

 

My Solution

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

글자수가 홀수인 경우와 짝수인 경우로 나누어서 생각했다.

홀수인 경우는 가운데 글자를 가져오면 되었고 짝수인 경우는 글자수의 반을 나눠서 -1부터 두개를 가져오게 구성했다.'

하지만...

 

More Solution

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

다른 풀이를 보니 그렇게 하지않고 그냥 바로 했어도 같은 결과가 나왔다..?!

차이는 (len(str)-1)//2 여기...  나눈뒤에 -1을 해주는것과 길이에서 -1을 하고 2로 나눈 것의 차이이다. 

길이가 5인 글자라면 [2 : 3] 의 결과가 나와서 index가 2인 글자만 출력, 길이가 6이라면 [2 : 4] 로 index가 2, 3인 글자 두개가 출력된다.

 

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

댓글