카테고리 없음

[js] 가운데 글자 가져오기_Import Middle Letter

우금붕 2023. 1. 18. 10:33

[문제 설명]

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

 

[제한사항]

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

입출력 예

sreturn

"abcde" "c"
"qwer" "we"

 

 

[문제 풀이]

function solution(s) {
    return s.length % 2 == 0 ?  s.slice(s.length/2-1, s.length/2+1):s[s.length/2-0.5];
}

 

 

[해설]

문자열이 2로 나누어 떨어지는 짝수 개일 경우, slice를 이용하여 가운데 두 글자 출력

문자열이 2로 나누어 떨어지지 않는 홀수 개일 경우, 가운데 한 글자 출력

 

 

 

[다른 사람 풀이]

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

 

 

*.substr()

문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환합니다.

즉, 문자열의 특정 부분을 출력합니다.

 

이때 구문과 매개변수는 다음과 같습니다.

str.substr(start[, length])

- start : 추출하고자 하는 문자의 시작위치. 음수면 문자열 총길이 + strart 값

- length : 추출할 문자들의 개수

 

예시)

const str = 'yoohee';

console.log(str.substr(1, 2));
// Expected output: "oo"

console.log(str.substr(2));
// Expected output: "ohee"

console.log(str.substr(-3, 2));
// Expected output: "he"

 

 

*Math.ceil()

주어진 숫자보다 크거나 작은 숫자 중 가장 작은 숫자를 integer로 반환합니다.

    Math.ceil(x)

- x : 숫자

 

 

 

[느낀점]

더 다양한 문제를 풀어보면서 다양한 함수를 적용하여 문제를 해결할 수 있도록 해야겠다.

 

 

[github] - ImportMiddleLetter.js

https://github.com/yh725k/javascript.git