가운데에 위치한 스트링 값이 무엇인지 구하는 문제로,
스트링의 길이가 짝수냐 홀수냐에 따라 반환하는 글자의 수가 달라진다.
먼저, 주어진 함수를 살펴보면 아래와 같다.
핵심은 s.length 를 2로 나눈 나머지가 0인지 1인지를 기준으로 잡아야한다.
function solution(s) {
var answer = '';
return answer;
}
나는 이렇게 작성하였다.
function solution(s) {
var answer = '';
if(s.length % 2 !== 0) {
const q = parseInt(s.length/2)
answer = s[q]
}else {
const q = s.length/2
const middle1 = s[q-1]
const middle2 = s[q]
answer = middle1 + middle2
}
return answer;
}
fution(s) {
return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
한줄로 구현한 다른 사람의 코드.
감탄했다..!
두 메서드에 대해 깊게 공부하여 정리해봐야겠다.