문제
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한 조건
s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
설명 | return |
---|---|
"abcde" | "c" |
"qwer" | "we" |
문제 풀이
function solution(s) { //함수 solution의 파라미터 s의 정의 시작
let answer = ''; //문자열 형태로 answer에 저장
if (s.length % 2 == 0) { // 문자열의 길이를 2로 나누었을 때 0으로 떨어지면 짝수
let num = s.length / 2; //s의 문자열 길이를 2로 나눠 num에 저장
return s[num-1] + s[num]; //문자열의 1번째, 2번째를 반환해야 하므로 인덱스 값에서 -1을 뺀 첫번째 값(w)과 원래 인덱스(2번째 값=e)를 더해줌
} else {
let num = Math.floor(s.length / 2); //홀수일 경우 2로 나눈 값을 반내림 해줌
return s[num]; //인덱스 값(3번째 열, 즉 c) 반환
}
return answer;
}
문자열의 길이가 짝수/홀수인지 if문을 통해 구별하는 것이 중요했다.
또한 문자열의 배열순서는 항상 0부터 시작되는 것은 알고 있었지만, -1을 써서 그 전 배열의 문자를 반환하는 것이 새로웠다.
더불어 Math.floor같은 메서드는 처음 알게 되었는데, 해당 포스팅 참고하면서 다시 이해해야 겠다.