단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
function solution(s) {
var answer = [];
if((s.split("").length) % 2 === 0) answer.push(s.split("")[(s.length / 2)-1], s.split("")[(s.length /2)])
else answer.push(s.split("")[Math.floor(s.length / 2)])
return answer.join("");
}
가운데 글자를 필요로 하는 문제 이기 때문에,
길이가 짝수, 홀수 일 경우를 비교하고,
짝수일 경우, 길이를 반으로 나누어, 해당 인덱스와 -1을 한 인덱스로 두 개를.
홀수일 경우, 전체 길이를 반으로 나누어, 내림한 인덱스를 리턴한다.
function solution(s) {
const mid = Math.floor(s.length/2);
return s.length %2 === 1 ? s[mid] : s[mid-1]+s[mid];
}
굳이, 배열로 변환하지 않아도 삼항 연산자로 충분히 풀 수 있는 문제였다.
(괜히 더 어렵게 푼 것 같다.)