프로그래밍/함수형 프로그래밍

[함수형 프로그래밍 연습하기] 프로그래머스 Level1 - 가운데 글자 가져오기

mhko411 2021. 8. 5. 09:57
728x90

https://programmers.co.kr/learn/courses/30/lessons/12903

 

코딩테스트 연습 - 가운데 글자 가져오기

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret

programmers.co.kr


solution 함수 자체가 가운데 글자를 가져오는 것이기 때문에 문자열의 길이가 홀수인지 짝수인지를 판단하여 홀수일 때는 가운데 한글자만 짝수일 때는 두 글자를 반환하도록 하였다.

이때 홀수, 짝수를 판별할 때 if(n % 2)를 사용할 수 있겠지만 함수형 프로그래밍에서는 if(isOdd(n)) 처럼 사용하도록한다.

 

구현

- 문자열의 길이가 홀수인지 짝수인지를 판별하고

- 홀수일 때는 가운데 글자 한 개, 짝수일 때는 두개를 answer에 합쳐서 반환한다.

function isOdd(len) {
    if (len % 2) return true;
    return false;
}

function solution(s) {
    let answer = '';
    let mid = Math.floor(s.length / 2);
    
    answer += isOdd(s.length) ? s[mid] : s[mid-1] + s[mid];
    return answer;
}