단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
1) 홀수일 때, 문자열의 길이/2 - 1의 인덱스의 값을 리턴
2) 짝수일 때 문자열의 길이/2, 문자열의 길이/2-1 인덱스의 값을 리턴
function solution(s) {
var answer = '';
if (s.length % 2 == 0){
answer = s[s.length / 2] + s[s.length / 2 + 1];
}
else{
answer = s[(s.length-2) / 2 + 1];
}
return answer;
}
홀수의 경우 안풀려서 자괴감 들었던 문제 (..)
s.length/2 와 %2는 몫과 나머지를 의미하는 줄 알았는데 그냥 나누는 것인가봄..? 그래서 5/2 = 2.5 가 되어 코드가 계속 오류가 났다. 따라서 s.length-1부터 해주고 /2를 해줘야 했다.
function solution(s) {
var answer = '';
if (s.length % 2 == 0 ) { // 짝수일 경우,
answer = s[s.length / 2 - 1] + s[s.length / 2];
} else {
answer = s[Math.floor(s.length/2)]; // 홀수일 경우, 반내림 하기
}
return answer;
}
Math.floor()
: 반내림 해주는 메서드문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12903