Dragonball Online Goku Hand
본문 바로가기
알고리즘 도장깨기

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

by 별의 코비 2022. 11. 15.
728x90

🔥 Programmers Lv.1 : 가운데 글자 가져오기


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

📎 조건 :
∙ s는 길이가 1 이상, 100이하인 스트링입니다.


👉🏻 My answer

function solution(s) {
    var answer = '';
    if(s.length % 2 == 0){
        answer = s[s.length/2 - 1] + s[s.length/2];
    } else {
        answer = s[Math.floor(s.length/2)];
    }
    return answer;
}
: 문제에 맞게 s의 길이가 짝수일 때는 가운데 두글자가 나올 수 있도록 s의 인덱스값이 길이의 반 값일 때와 그거에서 하나 빼 준 값을 구해주었습니다.
: 홀수일 때는 가운데 자리만 구해주면 되는데, 홀수를 2로 나누면 소수로 떨어지므로 Math.floor메서드를 이용하여 나머지값을 없애주어 가운데의 값을 구해주었습니다.


👉🏻 Another ways

function solution(s) {
    return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
: s.length % 2 === 0 ? 2 : 1 -> 이 부분은 가운데 길이가 두 자리인지 한 자리인지 결정해 주는 부분입니다.
: Math.ceil(s.length / 2) - 1 -> substr()메서드의 출발점을 결정 지어주는 부분입니다.

댓글