<가운데 문자 출력>
: 소문자로 된 단어(문자열)이 입력되면 그 단어의 가운데 문자를 출력하는 프로그램을 작성한다. 단 단어의 길이가 짝수일 경우 가운데 2개의 문자를 출력한다.
- 문자열의 길이/2를 하면 짝수일 경우엔 딱 떨어지겠지만, 홀수인 경우엔 딱 떨어지지 않는다. 그렇기 때문에 Math.floor(s.leng/2)를 해준다.
ex ) study의 길이는 5이다. 정리하면 Math.floor(5/2)이므로 2가 결과값이 된다. 홀수일 땐 정확하게 중간 인덱스번호를 가리킨다.
good은 짝수로 결과값이 2가 나오는데, 짝수일 경우엔 가운데 2개의 문자를 출력해야 하므로, 결과값과 결과값+1을 출력해줘야 한다.
이 결과값을 mid라는 변수에 넣어준다.- substring 혹은 substr을 이용하여, 홀수일 경우엔 1개만 출력되도록, 짝수일 경우엔 2개가 출력되도록 해준다.
! 플러스 개념
-> substring(시작 인덱스 번호, 마지막인덱스번호)
-> substr(시작 인덱스 번호, 개수)
- substirng(1,3) : 인덱스번호 1부터 인덱스 번호 3앞까지(3-1=2) 짤라서 반환
- substr(1,3) : 인덱스 번호 1부터 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>
뭔가 내가 모르는 편리한 함수가 있을 거 같아서 로직만 생각해보고 바로 강의들었다. substr이 가독성이 더 좋은 듯