Level1 가운데 글자 가져오기

문제

getMiddle메소드는 하나의 단어를 입력 받습니다. 단어를 입력 받아서 가운데 글자를 반환하도록 getMiddle메소드를 만들어 보세요. 단어의 길이가 짝수일경우 가운데 두글자를 반환하면 됩니다.
예를들어 입력받은 단어가 power이라면 w를 반환하면 되고, 입력받은 단어가 test라면 es를 반환하면 됩니다.

일단 문제를 풀었다. charAt() 메소드를 통해서 문자열의 특정 부분을 가져오는 부분을 활용해서 풀었는데 정답을 확인하고 다른 사람의 풀이를 보고

아놔~..를 외쳤다 ㅋㅋㅋ 왜 substring() 메소드를 생각하지 못했지.. 한줄로 끝낼 수 있었던 것이다..(한심) 열심히 공부하자..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class StringExercise{
String getMiddle(String word){

int wordLength = word.length();
String result = "";

if (wordLength % 2 == 0) {
result = "" + word.charAt((wordLength / 2) - 1) +word.charAt(wordLength / 2);
} else {
result = "" + word.charAt(wordLength / 2);
}

return result;
}

// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args){
StringExercise se = new StringExercise();
System.out.println(se.getMiddle("power"));
}
}

다른 사람의 풀이

1
2
3
4
5
6
7
8
9
10
11
class StringExercise{
String getMiddle(String word){

return word.substring((word.length()-1)/2, word.length()/2 + 1);
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args){
StringExercise se = new StringExercise();
System.out.println(se.getMiddle("power"));
}
}
Share