단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
function solution(s) {
let halfLength = parseInt(s.length / 2);
return s.length % 2 === 0 ?
s[halfLength-1] + s[halfLength] : s[halfLength];
}
그냥 정말 단순하게 가운데 문자를 찾아서 짝수이면 두 문자를 홀수이면 하나의 문자를 리턴해주었다. parseInt()
함수를 통해 형 변환을 하게 되면 숫자가 내림된다.
function solution(s) {
return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
Math.ceil()
은 수를 올림해준다. Math.ceil(0.9) -> 1
, Math.ceil(7.004) -> 8
그래서 -1을 해준 것 같다. 문자열의 길이가 7개라고 하면 3.5 -> 4
가 되어버린다. 인덱스로는 3이 맞기 때문에 -1을 해주어야한다. 그리고 2개를 자를건지 1개를 자를건지 짝수 홀수를 판단해서 결과를 내뱉는다.
참고 자료 및 사이트 (감사합니다)