입출력 예시
s : "abcde", "qwer"
return : "c", "we"
function solution(s) {
var sLength = s.length; // 단어길이를 변수에 할당.
var wordNam = sLength%2; // 단어를 "2"로 나누었을때 나머지
var wordMok = Math.floor(sLength/2); // 단어를 "2"로 나누었을때 몫 , Math.floor() 를 이용하여 소수점 없앤다.
var midWordIndex; // 단어의 가운데 문자 index 값을 저장할 변수 선언
var answer = '';
if (wordNam != 0) { // 나머지가 0이 아니면, 즉 단어의 길이가 홀수일때
midWordIndex = wordMok; // 몫 값을 이용하여 가운데 글자 index값을 저장할 변수에 할당
answer = s.charAt(midWordIndex); // charAt() 메서드를 사용하여 해당 index에 있는 문자를 반환
} else { // 나머지가 0일때, 즉 짝수일때
midWordIndex = wordMok; // 몫 값을 이용하여 가운데 두글자중 두번째 문자 index로 할당.
answer = s.charAt(midWordIndex -1) + s.charAt(midWordIndex);
// minWordIndex 값은 두번째 문자이므로 첫번째 문자는 해당 값에 -1을 하면 첫번째 문제 index가 된다.
}
return answer;
}
function solution(s) {
var sLength = s.length;
var wordNam = sLength%2;
var wordMok = Math.floor(sLength/2);
var answer = '';
if (wordNam != 0) {
answer = s.substring(wordMok,wordMok+1);
// 홀수일 경우에는 가운데 문자 하나만 필요하므로
// substring()의 첫번째 인자로 몫 값을, 두번째 인자로 몫 + 1 을 하여 length 값을 지정
} else {
answer = s.substring(wordMok-1,wordMok+1);
// 짝수일 경우에는 가운데 문자 두개가 필요하므로
// substring() 첫번째인자로 몫-1 을 하여 첫번째 문자 index로 지정
// 두번째 인자로 몫+1을 하여 length 값을 지정
}
return answer;
}
function solution(s) {
var wordNam = (s.length)%2;
var wordMok = Math.floor(sLength/2);
var answer = '';
answer = wordNam != 0 ? s.substring(wordMok,wordMok+1) : s.substring(wordMok-1,wordMok+1);
return answer;
}
function solution(s) {
var wordNam = (s.length)%2;
var wordMok = Math.floor(s.length/2);
var answer = '';
answer = wordNam != 0 ? s.substr(wordMok,1) : s.substr(wordMok-1,2);
// wordMok 변수를 이전엔 두개의 인자를 넘길때 다 넣어주었는데 메서드를
// substr()로 변경하면서 첫번째 인자에만 넣어주었다.
// 그 이유는 substr() 메서드의 두번째 인자 length 값의 기준이 첫번재 인자가 되기 때문이다.
return answer;
}
코드리뷰
1. 처음엔 if문을 사용하여 코드를 작성하였는데 if문 사용 용도가 이번 문제에서는 조건이 참, 거짓 두개의 함수 실행 블록중에서 하나만 실행하는 용도로만 사용하여서 그러면 굳이 if문이 아니라 삼항 조건 연산자를 사용해도 문제가 없을거 같아서 삼항 조건 연산자를 사용하여 코드를 간소화 하였다.
그래서 여기서 느끼는 부분은 뭔가 함수 실행 블록 내용이 복잡하지 않거나 갯수가 두개 이하일때는 삼항 조건 연산자를 이용하여 코드를 간소화 하자.
- String(객체) 메서드를 더 확인해보자 분명 목적에 맞고 코드를 간소화 시킬수 있는 메서드가 존재한다. 그런 메서드를 잘 이용하자!!!
참조사이트
https://poiemaweb.com/js-string
https://poiemaweb.com/js-math