알고리즘/프로그래머스 - JS

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

개발자성장기 2022. 7. 23. 19:49
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/12903

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

나의 풀이 

 

function solution(s) {
    if(s.length % 2 === 0 ){
        return s.slice(s.length / 2 - 1, s.length / 2 + 1)
    } else{
        return s.slice(Math.floor(s.length / 2), Math.floor(s.length / 2) + 1 )
    }
}

 

slice 메서드에 대해서 명확히 몰랐던 것 같다. 

다시 복습하자!

저번에 바로  return하자는 다짐 잘 지켰다. 

 

 

 

 

 

다른 사람 풀이 

 

function solution(s) {
    const mid = Math.floor(s.length/2);
    return s.length %2 === 1 ? s[mid] : s[mid-1]+s[mid];
}

const mid 로 변수를 정의해주니 타이핑이 더 줄어서 편할 것 같다. 

 

그리고 어차피 배열은 처음이 0부터 시작하니   홀수 / 2 한 값의 정수부분만 가져오면 그게 중간이된다. 

 

짝수이면 

 

중간 바로 전과 중간의 문자열을 더해줘서 합해주면 되는 구나  이 방법이 더 쉬운 것 같다. 

 

반응형