가운데 글자 가져오기

문제

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

제한조건

  • s는 길이가 1 이상, 100이하인 스트링입니다.

풀이방향

  • 문자를 배열로 만들고
  • 배열의 가운데 글자만 반환

문제풀이

getMiddleChar.js
1
2
3
4
5
6
7
8
9
10
11
12
13
function getMiddleChar(s) {
let answer = '';
let arr = s.split('');

if (arr.length % 2 === 0) {
answer = arr[arr.length / 2 - 1] + arr[arr.length / 2];
} else {
answer = arr[Math.floor(arr.length / 2)];
}
return answer;
}

export { getMiddleChar };
getMiddleChar.test.js
1
2
3
4
5
6
7
8
9
10
11
import { getMiddleChar } from "../src/getMiddleChar";

describe("getMiddleChar", () => {
it("should return c for abcde", () => {
expect(getMiddleChar("abcde")).toBe("c");
});

it("should return we for qwer", () => {
expect(getMiddleChar("qwer")).toBe("we");
});
});

문제출처

  • 프로그래머스

다른 풀이

1
2
3
function solution(s) {
return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}