가운데 글자 가져오기 (javascript)

weffa·2022년 3월 16일
0

문제 설명

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

제한사항

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

입출력 예

sreturn
"abcde""c"
"qwer""we"

문제 풀이

function solution(s) {
  let answer = '';
  if (s.length % 2 == 0) {
    let a = s.length/2
    let b = a-1
    let c = s.substr(b,2)
    answer = c
  }else {
    let l = s.length-1
    let m = l/2
    let n = s.substr(m,1)
    answer =n
  }
    return answer;
}
  1. 입력 문자의 길이가 홀수일 때랑 짝수일때의 남기는 문자의 수가 다르기 때문에 if로 문자열의 길이가 짝수인지 홀수인지 구분해준다.
  2. 짝수의 경우 문자열의 길이를 2로 나눈 값과 그 값의 -1을 해준 값이 문자열에서 반환할 index값이 된다.
  3. 홀수의 경우 문자열의 길이에서 -1을 해준뒤 2로 나눈 값이 문자열에서 반환할 index값이 된다.

다른풀이

function solution(s) {
  let x = Math.floor(s.length/2)
  return s.length % 2 === 0 ? s.substr(x-1,2) : s.substr(x,1)  
}
  1. Math.floor() 함수를 이용해서 홀수일때 -1을 하지 않고 바로 2로 나눠도 -1을 한 효과를 주었다.
  2. 삼항연산자를 사용하여 문자열 s의 길이가 짝수일때는 s.substr(x-1,2)이 홀수일때는 s.substr(x,1)이 반환 되도록했다.

0개의 댓글