본문 바로가기
알고리즘

프로그래머스 1단계 : 가운데 글자 가져오기

by 코터틀 2022. 11. 10.
반응형

프로그래머스 1단계 : 가운데 글자 가져오기

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.



※ 제한사항

s는 길이가 1 이상, 100이하인 스트링입니다.

※ 입출력 예

s return
"abcde" "c"
"qwer" "we"

function solution(s) {
    let answer = '';
    answer = s.length % 2 === 0 ? s.slice(Math.floor(s.length / 2 - 1), s.length / 2 + 1)
    : s.slice(Math.floor(s.length / 2), (Math.ceil(s.length / 2))); 
    return answer;
}

문자열 s의 길이를 2로 나눈 나머지값이 0이라면 짝수인 문자열이므로, 가운데 두글자를 반환하기 위해 slice()메서드를 사용해 s문자열의 길이를 반으로 나눈 값에 -1을한 자리부터 반복한 값에 +1을한 자리까지 출력해줍니다.( 예로 따지면 s가 'qwer'인 4개의 문자열 일 때, s.slice(1, 3)이 되겠죠?)
같은 방법으로 홀수의 경우에도 가운데 문자열만 출력되도록 하면 끝입니다.

※ 다른 사람의 풀이

function solution(s) {
    let i = (s.length-1)/2;
    return i%1 ? (s[i-0.5] + s[i+0.5]) : s[i];
}

수학 메서드를 사용하지않고 0.5씩 더하고, 빼는 방법으로 했네요. 코드가 상당히 깔끔합니다.
반응형

댓글


광고 준비중입니다.