본문 바로가기
개발/알고리즘

[프로그래머스][LEVEL1]가운데 글자 가져오기

by ISA(류) 2021. 8. 18.

# 문제 원문

문제 설명

단어 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);
}
반응형