문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두 글자를 반환하면 됩니다.
재한 사항
- s는 길이가 1 이상, 100 이하인 스트링입니다.
입출력 예
s | return |
"abcde" | "c" |
"qwer" | "we" |
초기화면
function solution(s) {
var answer = '';
return answer;
}
글쓴이 풀이
function solution(s) {
return (s.length %2) === 0 ? s[s.length/2-1]+s[s.length/2] : s[s.length/2-0.5];
}
다른 유저의 풀이
function solution(s) {
return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
문제 풀이
문자열 s의 길이를 2로 나눴을 때 0이면 문자열의 길이는 짝수이니 2개를 반환해야 하므로 문자열의 길이 값을 반으로 나누고 나눈 값을 1을 빼고 반으로 나눈값을 문자열에서 찾아 반환합니다 문자열의 길이가 홀수이면 반으로 나누고 0.5를 뺀 값을 문자열에서 찾아 반환합니다
느낀 점
다른 사람이 푼 문제를 보고 조금 더 내장 함수의 활용을 적극적으로 사용해야 한다고 생각합니다
'공부 > 알고리즘' 카테고리의 다른 글
[ JS 코딩테스트 ] 콜라츠 추측 (0) | 2021.06.16 |
---|---|
[ JS 코딩테스트 ] 하샤드 수 (0) | 2021.06.16 |
[ JS 코딩테스트 ] 최대공약수와 최소공배수 (0) | 2021.06.14 |
[ JS 코딩테스트 ] x만큼 간격이 있는 n개의 숫자 (0) | 2021.06.14 |
[ JS 코딩테스트 ] 핸드폰 번호 가리기 (0) | 2021.06.14 |