[프로그래머스] 가운데 글자 가져오기 in JavaScript

hyocho·2022년 6월 24일
0

코딩테스트

목록 보기
27/45

✅문제

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

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

✍문제풀이

1) 홀수일 때, 문자열의 길이/2 - 1의 인덱스의 값을 리턴
2) 짝수일 때 문자열의 길이/2, 문자열의 길이/2-1 인덱스의 값을 리턴

function solution(s) {
    var answer = '';
    if (s.length % 2 == 0){
        answer = s[s.length / 2] + s[s.length / 2 + 1];
    }
    else{
        answer = s[(s.length-2) / 2 + 1];
    }
    return answer;
}

홀수의 경우 안풀려서 자괴감 들었던 문제 (..)
s.length/2 와 %2는 몫과 나머지를 의미하는 줄 알았는데 그냥 나누는 것인가봄..? 그래서 5/2 = 2.5 가 되어 코드가 계속 오류가 났다. 따라서 s.length-1부터 해주고 /2를 해줘야 했다.

✔️참고할 좋은 코드

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

📝TIL

  • Math.floor() : 반내림 해주는 메서드

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12903

profile
기록하는 습관을 기르고 있습니다.

0개의 댓글