# 문제 원문
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s / return
"abcde" | "c" |
"qwer" | "we" |
# 문제 풀이
입력 받은 문자열 s의 length가 홀이냐 짝이냐에 따라서 s의 mid 2글자 (혹은 한글자)를 구해서 반환하는 간단한 문제
삼항 연산자와 slice 함수를 이용해서 처리했다. s.length를 2로 나누었을때 나머지가 있냐 없냐에 따라서 2분기로 나뉜다.
# 솔루션 플로우
1. 입력 받은 문자열 s의 length가 % 2로 나눈후 나머지가 0인지 확인한다. (2, 3)
2. 나누어지면 s.length의 / 2 한후 -1 해준 후 (문자열 이터러블도 idx는 0부터 시작한다.)위치에서 부터 두글자를 구한다.
3. 홀수일 경우 s.length에서 1 빼준후 2로 나눈 위치에서 부터 한글자 구한다.
4. 구해진 result를 반환한다.
1. 삼항 연산자 + slice을 활용한 풀이
function solution(s) {
return s.length % 2 === 0 ?
s.slice((s.length / 2) - 1, (s.length / 2) + 1) :
s.slice((s.length - 1) / 2, ((s.length - 1) / 2) + 1);
}
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스][LEVEL1]문자열 내림차순으로 배치하기 (0) | 2021.08.19 |
---|---|
[프로그래머스][LEVEL1] 같은 숫자는 싫어 (0) | 2021.08.19 |
[프로그래머스][LEVEL1] 소수 찾기 (0) | 2021.08.18 |
[프로그래머스][LEVEL1] 제일 작은 수 제거하기 (0) | 2021.08.18 |
[프로그래머스][LEVEL1] 2016 (0) | 2021.08.18 |