티스토리 뷰

문제 설명

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

 

제한사항

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

 

문제 풀이 과정

더보기

가운데 글자를 가져오기를 풀기 위한 아이디어는

-단어를 하나식 쪼갠 문자열로 만든다

-문자열의 길이를 반으로 나눈다

-짝수일 때, 문자열의 길이/2 한 값과 (문자열의 길이/2)+1 한 값을 가져온다

였다. 그리고 나는 이렇게 코드를 짜 보았다.

function solution(s) {
    var answer = 's';
    let vocabulary = answer.split('');
    let halfVoca= 
        if (vocabulary%2 === 0) {
            return vocabulary[i/2], vocabulary[(i/2)+1]
        } else {
            retuen vacabulary[i/2]
        }
    return answer;
}

일단 돌려봤는데 안된다! 

 

챗지피티에게 잘못된 점을 수정해주고 어떤 방향으로 가면 좋을지 물어봤다. 

- 's'는 함수를 만들어서 s.length로 활용해야 하는 거였다. 

- Math.floor 메서드를 사용해야 했다. 

- s[half]는 뭐지?

- 봐도 모르겠어서 답을 보고 부족한 부분을 더 연습하기로 했다. 언제쯤 바로바로 답을 낼 수 있을까..

-챗 지피티에게 부족한 개념에 대한 예제를 만들어 달라고 했다. 다음 포스팅에 추가할 예정이다. 

 

정답

function solution(s) {
    // 문자열 s의 길이를 확인하고 중앙 인덱스를 계산합니다.
    let len = s.length;
    let half = Math.floor(len / 2); // 중앙 인덱스를 계산합니다.
    
    // 문자열 길이가 짝수인지 홀수인지 확인합니다.
    if (len % 2 === 0) {
        // 짝수인 경우 중앙의 두 글자를 반환합니다.
        return s[half - 1] + s[half];
    } else {
        // 홀수인 경우 중앙의 한 글자를 반환합니다.
        return s[half];
    }
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함