정답
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를 나타내는 index는 2입니다. 문자열의 인덱스는 0부터 시작하기 때문입니다. 단어 power의 p는 index 0, o는 index 1이 가리킵니다. 따라서 해당 인덱스 값을 바로 얻어내면 됩니다. 그런데 짝수일 경우는 좀 다릅니다. 예를 들어 test라는 단어라면 단어의 length를 구하면 값은 4, 이 값을 2로 나누면 값은 2입니다. index 2는 s를 가리키는데 얻어내야 하는 값은 es이므로 index-1한 값부터 index 값까지 얻어내면 됩니다.