[Programmers] 가운데 글자 가져오기
2022. 10. 20. 20:13ㆍ기록/Programmers
- 목차
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.
단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한 사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s | return |
"abcde" | "c" |
"qwer" | "we" |
나의 문제 풀이
function solution(s) {
return s.length % 2 === 0 ? s.substr(s.length / 2 - 1, 2) : s.substr(Math.floor(s.length / 2), 1);
}
- 주어진 문자열의 길이가 짝수일 경우
- 문자열의 길이를 2로 나누고 -1을 한 인덱스부터 시작해서 두 글자를 잘라 반환한다.
- 주어진 문자열의 길이가 홀수일 경우
- 문자열의 길이를 2로 나누고 소수점 값은 버린 인덱스부터 시작해서 한 글자를 잘라 반환한다.
다른 사람의 문제 풀이
function solution(s) {
return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
}
- 주어진 문자열의 길이를 2로 나누고 올림 후 -1을 한 인덱스부터 문자열을 자르기 시작한다.
- 주어진 문자열의 길이가 짝수일 경우 2, 홀수일 경우 1 만큼 잘라낸다.
function solution(s) {
const mid = Math.floor(s.length/2);
return s.length %2 === 1 ? s[mid] : s[mid-1]+s[mid];
}
- 주어진 문자열의 길이를 2로 나누고 소수점 자리를 제거하여 변수에 할당한다.
- 주어진 문자열의 길이가 홀수일 경우 변수 값을 통해 인덱스를 지정하여 배열의 요소를 반환한다.
- 주어진 문자열의 길이가 짝수일 경우 변수 값을 통해 인덱스 -1, 인덱스를 지정하여 배열의 두 요소를 이어붙여 반환한다.