가운데 글자 가져오기

carminchameleon·2020년 6월 20일
0

알고리즘티키타카

목록 보기
3/3

**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))
}
  • 배우게 된 것
    slice 대신에 substr을 쓰자
    간단한 if문은 삼항 연산자를 쓰자

  • 느낀점
    이런 문제 풀이를 하는 것도 너무 안하다 보니까 정말 많이 퇴화된 것이 느껴진다. 정말 꾸준히 해야겠다. 간단한 것부터 시작해서 조금씩 더 어려운 걸로.
    깔끔하고 가독성있는 코드를 쓸 수 있도록 노력해야겠다. 문제를 풀어내는 것도 중요하지만, 다른 사람들이 어떤 식으로 풀었는지 보고 그것을 익혀 나가는 것도 도움이 많이 되는 것 같다.

profile
나는야 코린이 하지만 무럭무럭 자라고 있죠

0개의 댓글