1. 문제
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.
단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
'abcde' -> 'c'
'abbc' -> 'bb'
출저: 프로그래머스 : 가운데 글자 가져오기
2. 문제 풀이
function solution(s) {
let result;
let midNum;
if(s.length % 2 === 0){
midNum = s.length / 2
result = s.slice(midNum -1, midNum+1)
} else {
midNum = Math.floor(s.length / 2)
result = s.slice(midNum, midNum+1)```
코드를 입력하세요
}
return result
}
- 굳이 result, midNum을 선언 하면서 해야 할까?
- 너무 코드가 긴 느낌?
그래서 다른 사람들의 답을 보았다.
내 답과 다른 것 : slice 대신에 substr
```js
function solution(s){
if (s.length % 2 === 0){
return s.substr(Math.floor(s.length/2-1), 2)
} else {
return s.substr(s.length/2,1)
}
}
여기서 if 문을 더 줄여보자
function solution(s) {
return ( s.length % 2 === 0 ? s.substr(Math.floor(s.length/2 -1), 2) : s.substr(s.length/2,1))
}