2021/12/18) 15. 가운데 문자 출력

굥굥이·2021년 12월 18일
0
post-thumbnail

1. 문제

<가운데 문자 출력>
: 소문자로 된 단어(문자열)이 입력되면 그 단어의 가운데 문자를 출력하는 프로그램을 작성한다. 단 단어의 길이가 짝수일 경우 가운데 2개의 문자를 출력한다.

2. 해결 방법

  1. 문자열의 길이/2를 하면 짝수일 경우엔 딱 떨어지겠지만, 홀수인 경우엔 딱 떨어지지 않는다. 그렇기 때문에 Math.floor(s.leng/2)를 해준다.
    ex ) study의 길이는 5이다. 정리하면 Math.floor(5/2)이므로 2가 결과값이 된다. 홀수일 땐 정확하게 중간 인덱스번호를 가리킨다.
    good은 짝수로 결과값이 2가 나오는데, 짝수일 경우엔 가운데 2개의 문자를 출력해야 하므로, 결과값과 결과값+1을 출력해줘야 한다.
    이 결과값을 mid라는 변수에 넣어준다.
  2. substring 혹은 substr을 이용하여, 홀수일 경우엔 1개만 출력되도록, 짝수일 경우엔 2개가 출력되도록 해준다.

! 플러스 개념
-> substring(시작 인덱스 번호, 마지막인덱스번호)
-> substr(시작 인덱스 번호, 개수)

  • substirng(1,3) : 인덱스번호 1부터 인덱스 번호 3앞까지(3-1=2) 짤라서 반환
  • substr(1,3) : 인덱스 번호 1부터 3개짤라서 반환.

3. 정답

        <script>
            function solution(s){  
                let answer;
                let mid=Math.floor(s.length/2)
                if(s.length%2===1) answer=s.substring(mid, mid+1);
                else answer=s.substring(mid-1, mid+1);
                //if(s.length%2===1) answer=s.substr(mid, 1);
                //else answer=s.substr(mid-1, 2);
                return answer;
            }
            console.log(solution("study"));
        </script>

4. 내 코드와 비교 그리고 반성

뭔가 내가 모르는 편리한 함수가 있을 거 같아서 로직만 생각해보고 바로 강의들었다. substr이 가독성이 더 좋은 듯

profile
아자아자 파이띵굥!

0개의 댓글