프로그래밍/HTML, CSS, JavaScript

[JavaScript] 프로그래머스_가운데 글자 가져오기(substr() 사용하기)

싯타마 2021. 4. 28. 19:48

1. 내가 푼 풀이

function solution(s) {
    let answer = '';
    let a = 0;
    s = s.split("");
    if (s.length % 2 === 0) {
        a = s.length/2-1;
        answer = s[a]+s[a+1];
    } else {
        a = Math.round(s.length/2-1);
        answer = s[a];
    }
    return answer;
}

1) 입력받는 문자를 1개씩 쪼개 준다 -> s = s.split(")

2) if문의 조건으로 배열의 개수의 홀수 짝수를 나눠준다.  -> 

3)

가운데 글자 출력하기

짝수

-> 가운데 글자를 출력하기 위하여 s배열을 2로 나눠주고 1을 뺀 배열 값과 그다음 배열 값을 출력한다.

홀수

-> s배열의 길이에서 2를 나눠주고 반올림 한값의 -1을 출력한다.

 

2. 다른 풀이

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

1) substr()은 문자열에서 특정 부분을 잘라낼 때 쓰인다. 

-> substr(시작위치 , 자를 길이)

2) 시작위치는 Math.ceil(s.length / 2) -1 -> 문자의 길이를 반으로 나눈 후 Math.ceil()로 올림 하고, 1을 뺴준다.

3) 자를 길이는  

짝수

-> 문자의 길이를 반으로 나누고 나머지가 0일 때 길이는 2

홀수

-> 문자의 길이를 반으로 나누고 나머지가 0일 때 길이는 1

 

3. 배운 점

1) substr()을 이용한 문자열 자르기

2) Math.ceil은 올림 처리

3) if문을 간단하게 한 줄로 표현하기