더북(TheBook)

정답

String getMiddle(String word) {
    String middleWord= "";
    int index = word.length() / 2;
    if(word.length() % 2 == 0) {
        middleWord = word.substring(index-1, index+1);
        }else{

            middleWord = word.substring(index, index+1);
        }

        return middleWord;
    }

 

해설

문제를 해결하기 위해서 우선 메서드의 인자로 들어온 word가 짝수인지 홀수인지를 알아야 합니다. 단어 길이는 word.length()를 이용해 알 수 있습니다. 이 값을 2로 나눈 나머지 값이 0이면 짝수, 아니면 홀수입니다. 조건문에 해당 조건을 주고, 결과에 따라서 짝수일 경우와 홀수일 경우를 각기 다르게 처리합니다. 예를 들어 power라는 단어의 length를 구하면 값은 5, 이 값을 2로 나눈 값은 2입니다. 이때 결괏값으로는 세 번째 글자인 w라는 값을 구하면 되겠죠? w를 나타내는 index2입니다. 문자열의 인덱스는 0부터 시작하기 때문입니다. 단어 powerpindex 0, oindex 1이 가리킵니다. 따라서 해당 인덱스 값을 바로 얻어내면 됩니다. 그런데 짝수일 경우는 좀 다릅니다. 예를 들어 test라는 단어라면 단어의 length를 구하면 값은 4, 이 값을 2로 나누면 값은 2입니다. index 2s를 가리키는데 얻어내야 하는 값은 es이므로 index-1한 값부터 index 값까지 얻어내면 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.