프로그래머스 Lv 1. 가운데 글자 가져오기

context·2023년 3월 1일
0

프로그래머스

목록 보기
14/24

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

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

나의 풀이

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];
}

굳이, 배열로 변환하지 않아도 삼항 연산자로 충분히 풀 수 있는 문제였다.
(괜히 더 어렵게 푼 것 같다.)

0개의 댓글