알고리즘 코딩

문자열의 가운데 글자를 가져오는 알고리즘

가문비7 2023. 4. 15. 10:53

제목 그대로다. 문제는 아래 링크와 같다. 

https://school.programmers.co.kr/learn/courses/30/lessons/12903

내가 작성한 버전이다. 

function solution(s) {
    var answer = '';

    answer = s.length % 2 === 0 ? // 문자열 s의 문자개수가 짝수라면 : 앞의 것을 answer에 넣는다. 
    s.slice(s.length/2-1, s.length/2+1) : // slice 메서드로 가운데 2개의 문자열 추출한다.
    s[Math.floor(s.length/2)] 
    // s의 문자개수가 홀수라면 s.length/2를 하면 n.5 가 나온다 
    // floor 메서드로 내림하여 가운데 문자열의 순서를 찾는다.
    
    console.log(answer)

    return answer;
}
s = "abcdef"
solution(s)

이걸 풀면서 내가 겪었던 문제는 크게 없었다. 이번에는 95% 이상 내가 풀었다. 구글링은 했지만 문제 자체에 대한 포스팅은 보지 않았다. 

 

삼항연산자 부분에서 어제 진행했던 페어 프로그래밍이 도움이 되었다.

삼항연산자를 통해 선택된 구문을 answer에 넣는 걸 깜박했었는데 페어 프로그래밍 때 동료 분이 알려주셨다. 그래서 아직도 기억이 잘 난다. 동료 분과 페어 프로그래밍을 기획하신 분께 감사드린다.