Programmers/Level 1

[프로그래머스 / JavaScript] - 가운데 글자 가져오기

LaKinRad 2022. 5. 1. 15:13

출처/프로그래머스

● 문제 설명

 

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

 

● 제한 사항
  • s는 길이가 1 이상, 100이하인 스트링입니다.

 

● 입출력 예

 

s return
"abcde" "c"
"qwer" "we"

 


나의 풀이

 

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

 


후기

 

나의 풀이에서 삼항 연산자로 첫 식을 substr로 작성했는데, 뒤의 식도 일관성있게 substr로 작성하는 게 더 좋았을 것 같다는 생각이 든다.

 

// 다른 사람의 풀이
function solution(s) {
    return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}

 

이처럼 처음부터 length를 보는 것이 아니라, substr로 나중에 length를 비교하여 끝 위치를 설정해주는 것도 좋았던 것 같다.