단어 s의 가운데 글자를 반환하는 함수를 완성하라. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됨.
- 제한조건
- s는 길이가 1 이상, 100이하인 스트링
- Example
function solution(s) {
let answer = '';
if(s.length % 2 === 0) {
answer += s[(s.length / 2) - 1];
answer += s[s.length / 2];
} else if (s.length % 2 === 1) {
answer += s[parseInt(s.length / 2)];
}
return answer;
}
// 리팩토링 후
function solution(s) {
return s.length % 2 === 0 ? s[(s.length / 2) - 1] + s[s.length / 2] : s[parseInt(s.length / 2)];
}
📍 풀이과정
- 단어s의 길이가 짝수(2로 나눈 나머지가 0)일 때와 홀수(2로 나눈 나머지가 1)일 때로 나누고자 했다.
- 짝수일때 가운데 2글자의 index는 어떤 규칙을 가지고 있는지 찾았고, 홀수일 때 가운데 1글자의 index는 어떤 규칙을 가지고 있는 지 찾아 빈문자열 answer에 더해주었다.
- 짝수일 때
qw인덱스 : 0번째, 1번째
길이 : 2
qwqw인덱스 : 1번째, 2번째
길이 : 4
qwqwqw인덱스 : 2번째, 3번째
길이 : 6
- 홀수일 때
a인덱스 : 0번째
길이 : 1
abc인덱스 : 1번째
길이 : 3
abcde인덱스 : 2번째
길이 : 5