가운데 글자 가져오기
https://programmers.co.kr/learn/courses/30/lessons/12903
단어의 길이가 홀수면 가운데 글자만 리턴하고
짝수면 가운데 두글자를 리턴하는 if else문으로 풀었다.
길이가 홀수일 때 길이/2 하면 몫이 .5로 나오기때문에 parseInt함수로 그냥 정수로 변환시켜주었다.
function solution(s) {
var answer = '';
var stringLen = s.length;
if (stringLen % 2 == 0){ // 단어의 길이가 짝수
answer = s[stringLen/2 - 1] + s[stringLen/2];
}
else // 홀수
answer = s[parseInt(stringLen/2)];
return answer;
}
다른 사람의 풀이
function solution(s){
return s.length % 2 ? s[parseInt(s.length/2)] : s.substr(s.length/2 - 1, 2);
}
문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환
syntax
str.substr(start[, length])
var str = 'abcdefghij';
console.log('(1, 2): ' + str.substr(1, 2)); // '(1, 2): bc'
console.log('(-3, 2): ' + str.substr(-3, 2)); // '(-3, 2): hi'
console.log('(-3): ' + str.substr(-3)); // '(-3): hij'
이 문제 풀고나서 다른 사람의 풀이를 보고 삼항연산자를 사용하면 좀 더 간결하게 코드를 짤 수 있다는 것을 느꼈던 거 같다.
substr() 메소드를 사용하는 것에 익숙해져야겠다.