[프로그래머스] 가운데 글자 가지고 오기

최연서·2022년 1월 16일
0

알고리즘

목록 보기
3/30
post-thumbnail

오늘의 문제

📌 가운데 글자 가지고 오기

문제 설명

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


제한 조건

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

내 풀이 (1)

function solution(s) {
    let answer = '';
    
    if (s.length % 2 !== 0){ //길이가 짝수라면
        return answer = s[Math.floor(s.length / 2)] //개수/2의 값 소수점 내려서 정수 반환, 그 값으로 s의 인덱스 출력
    }else{ //길이가 홀수라면
        return answer = s.substring(s.length/2 - 1, s.length/2 + 1) //substring( 지정 인덱스부터, 지정 인덱스 전까지 자르기)
      //개수 - 1부터 개수까지 출력
    }
}

내 풀이 (2)

function solution(s) {
    let answer = '';
    
    if (s.length % 2 !== 0){//길이가 짝수라면
        return answer = s[Math.floor(s.length / 2)] //개수/2의 값을 소수점 내려서 정수로, 그 값으로 s의 인덱스 반환
    }else{
        return answer = s.substr(s.length/2 - 1, 2)//substr( 지정 인덱스부터, 표출할 인덱스 개수만큼 자르기)
      //개수 - 1로부터 2개 반환
    }
}

😊 소윤님 풀이 😊

function solution(s) {
  var answer = ''
  if (s.length%2 == 0) {
    var location = s.length/2 -1
    return answer = s.substr(location,2)
  } else {
    var location = Math.ceil(s.length/2)-1
    return answer = s.substr(location,1)
  }
  return answer;
}
//substr(a,b) - a번째 부터 b개 추출
//substring(a,b) - a번째부터 b번째 이전까지 추출
//Math.ceil() 올림, Math.floor() 내림, Math.round() 반올림
profile
하고 싶은 것 하면서 삽니다

0개의 댓글

Powered by GraphCDN, the GraphQL CDN