본문 바로가기
알고리즘 스터디/프로그래머스 스킬체크 레벨 1(끝)

[프로그래머스 스킬체크 레벨 1] 가운데 글자 가져오기 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT]

by 레일라오리덕 2021. 7. 12.
728x90

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

 

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

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

programmers.co.kr

 

문제

 

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

 

제한 사항

 

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

 

결괏값 예시

s return
"abcde" "c"
"qwer" "we"

 

기본 제공 틀

 

function solution(s) {
    var answer = '';
    return answer;
}

 

풀이 [JavaScript]

 

728x90

 

len의 값에서 s.length/2를 Math.floor를 해준 이유는, 5 / 2 를 했을 경우에는 2.5로 값이 소수점으로 나오게 된다.

이로 인해, 홀수의 경우에는 값이 undefined로 뜨게 된다. 이러한 문제를 해결하기 위해 나눈 값을 다시 정수값으로 설정해주는 작업이 필요하다. 

 

int 즉, 정수는 -를 포함하기 때문에 if문에서 s.length % 2 === 1 로 if 문을 작성했을 경우에는 -3을 입력했을 경우 -3 % 2 = -1의 값이 나오기 때문에 else문으로 빠지게 되어 정확한 로직 구현이 어렵다.

그러므로 if문에서는 나머지값이 0일 경우를 입력해주는 것이 중요하다.

 

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

 

채점 결과 [JavaScript]

 

728x90

댓글