2020. 4. 18. 16:51

[python](프로그래머스)가운데 글자 가져오기

문제 설명


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

 

제한사항


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

 

문제풀이


  1. 만약 s의 길이를 2로 나눈 나머지가 0이라면 짝수라는 뜻이므로 가운데 두글자를 슬라이스해서 리턴한다
  2. else의 경우는 홀수인 경우이므로 2로 나눈 정수 값(s의 가운데 값)을 리턴한다.
  3. 삼항 연산자를 사용해서 한줄로 표현한다.
  • 포인트 👉 // 연산자를 사용하면 round를 사용하지 않더라도 나눈 값의 정수 값을 얻을 수 있다.
def solution(s):
    return s[len(s)//2-1:len(s)//2+1] if len(s)%2 == 0 else s[len(s)//2]

 

다른 풀이


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

내 경우에는 짝수의 경우와 홀수의 경우를 따로 나눠서 짝수는 가운데 두글자를 리턴하고 홀수는 한글자를 리턴한다는 것을 법칙으로 삼아서 코드를 짰는데, 이 경우는 단순히 슬라이스로 짝수의 경우에는 두글자가 홀수의 경우에는 한글자가 출력되도록 했다.

예를들어 4를 넣는다면 s[1:3]가 될 것이고 3을 넣는다면 s[1:2]이 되어 각각 두글자, 한글자씩 출력될 것이므로 다른 코드지만 결과는 같다.