TIL : 가운데 글자 가져오기

군밤먹으면서코딩·2021년 6월 10일
0

알고리즘

목록 보기
1/14
post-thumbnail

매일 매일 한 문제라도 알고리즘 문제를 풀어보자! ㅎㅎ

문제 설명

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

let str = "qwer";

function solution(s){
  let stringLength = s.length;
  if(stringLength % 2 === 0){
    s = s[stringLength/2-1] + s[stringLength/2];
  }else{
  let idx = Math.floor(stringLength/2);
  s = s[idx];
  }
  return s;
}
console.log(solution(str));
  • str 배열내 텍스트의 길이가 홀수인지 / 짝수인지를 확인한다.

  • 짝수라면 텍스트의 length/2-1 + length/2 두개를 뽑아 텍스트를 수정해준다.

  • 홀수라면 Math.floor 메서드를 사용해 가운데 값을 뽑아준다.

다른 풀이🧐

프로그래머스에서 제시한 테스트케이스는 모두 통과했으나,,

알고리즘 능력자분들의 코드를 확인해보자 .. ㅎㅎ

function solution(s) {
    const mid = Math.floor(s.length/2);
    return s.length %2 === 1 ? s[mid] : s[mid-1]+s[mid];
}
  • 단 두줄로 해결이 가능해부려따..
  1. 가운데 값을 꺼냄에 있어서, 텍스트 길이가 짝수이든 홀수이든 그냥 내림 처리 해줘도 상관없잖아!?

  2. 삼항연산자로 return 해주면 되는걸 왜 생각 못했담!?

0개의 댓글