티스토리 뷰
문제
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한 조건
- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s | return |
---|---|
"abcde" | "c" |
"qwer" | "we" |
접근
짝수면 가운데 두 개를 리턴하라고 했으니 양쪽 글자를 제거한 뒤 리턴.
index를 사용하면 더 쉬울 거 같은데 재귀함수를 연습해보고 싶었다.
구현
const solution = s => {
// 문자열의 길이가 1이거나 2면 리턴
if (s.length <= 2) {
return s;
}
// 주어진 문자열을 배열로 변환하고 맨 앞, 맨 뒤 요소를 제거한다.
const answer = s.split("");
answer.shift();
answer.pop();
s = answer.join("");
return solution(s);
};
인덱스를 이용한 훨씬 더 간단한풀이
const solution = s => {
let answer = "";
// 가운데 인덱스
const mid = Math.floor(s.length/2);
answer = s.length % 2 !== 0 ? s[mid] : s[mid-1]+s[mid];
return answer;
};
반응형
'프로그래머스 문제풀이 > Level 1' 카테고리의 다른 글
[프로그래머스] 모의고사 (0) | 2020.04.05 |
---|---|
[프로그래머스] 완주하지 못한 선수 (0) | 2020.04.04 |
[프로그래머스] 제일 작은 수 제거 (0) | 2020.04.04 |
[프로그래머스] 두 정수 사이의 합 (0) | 2020.04.04 |
[프로그래머스] 체육복 (0) | 2020.04.04 |
댓글