프로그래머스 level1 가운데 글자 가져오기

Toy

Fri, 08 Nov 2019

가운데 글자 가져오기

  • 프로그래머스 level1
  • 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어보세요, 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
  • 제한사항 : s는 길이가 1이상, 100이하인 스트링입니다.
  • 처음 시작하는 문제로 가장 쉬운 문제를 골라 보았다. 토이 문제들을 푼지가 조금 되어서 다시 처음부터 시작하는 마음으로 풀어 보았다. 그리고 파이썬은 아직 익숙치가 않아서 파이썬도 익숙해질겸 풀어 보았다.

Javascript

function solution(s){
  let lengthOfString = s.length // 스트링의 길이라고 변수 명을 정하고 s의 길이를 파악한다.
  if(lengthOfString%2){ // 만일 스트링의 길이가 2로 나누었을 때 나머지가 0이 아닐경우 아래의 값을 반환한다.
    return s[Math.floor(lengthOfString/2)]	// s라는 스트링에서 스트링의 길이를 2로 나누었을 때의 소수점을 제외한 정수값을 추출하여 s에서 Math.floor(lengthOfString/2)의 index의 값을 반환 한다.
  }else{ // 위의 경우가 아니라면 아래의 경우를 반환한다.
    return s[Math.floor(lengthOfString/2)-1]+s[Math.floor(lengthOfString/2)]
  }
}

Python

import math
def solution(s):
  answer = ''
  lengthOfString = len(s) #s의 길이를 구함
  if lengthOfString%2:
    answer = s[math.floor(lengthOfString/2)]
  else:
    answer = s[math.floor(lengthOfString/2)-1]+s[math.floor(lengthOfString/2)]
  return answer
  • Python에서는 import math를 해주어 math클래스 안의 floor 함수를 사용해야 한다.

다른 사람의 풀이를 보고 고쳐야 할 점

  • Javascript, Python 두 개의 풀이에서 math.floor(lengthOfString/2)를 반복해서 사용하였으므로 math.floor(lengthOfString/2)를 변수로 정하면 풀이가 더 간단해 질 수 있겠다.
  • Javascript 경우 삼항 연산자를 사용해도 될 듯
  • Python의 경우 if를 사용하지 않고 풀수 있음

Sariputa의 Github Programmers Test 풀이

Loading...
Upati Sariputa

Upati Sariputa

  • React.js, Node.js, Django
  • 아직 블로그가 완벽하지 않습니다.