본문 바로가기
알고리즘

[프로그래머스][JS] Lv.1 가운데 글자 가져오기

by codnjs779 2022. 9. 19.

가운데 글자 가져오기

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

재한사항
  • s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
"abcde" "c"
"qwer" "we"

 

A. 내가 생각한 풀이 과정

1. 입력값의 길이 측정 후 짝/홀 판단

2. 짝수 / 홀수 분기 나눠서 조건식 써주기 

짝수: 반으로 나눈 곳에 위치한 문자열 + 절반 -1에 위치한 문자열

혹수: 반으로 나눈 곳에 위치한 문자열 

 

해결 과정

 

1. 문자열 길이로 짝/홀 판단/ 

  if(s.length % 2 === 1){
            
    } else {
         
    }

2. 짝/홀에 따라서 다른 값을 리턴 할 수 있도록 조건식 채우기

const solution = (s) => {
    let string = '';
    if(s.length % 2 === 1){
            string = s.charAt(s.length / 2)
            return string
    } else {
           string =  s.charAt(s.length / 2 - 1) + s.charAt(s.length / 2)
           return string
    }

}

 

* 참고할만한 코드

 

function solution(s) {
        return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}

 위 함수가 간결하고 명료해서 참고해야겠다 싶었는데  mdn 사이트에 보니까 사용 경고 중인 함수였다. 

아래 함수가 없어진 건 아니고 substring()으로 이름이 변경된 것 같음!  기능이 같고 모양만 달라짐.

🔽

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/substring