728x90

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

정답 코드
< 내 정답 코드 >
class Solution {
public String solution(String s) {
String result = "";
int idx = s.length() / 2;
if (s.length() % 2 != 0) {
result = s.substring(idx, idx + 1);
} else {
result = s.substring(idx - 1, idx + 1);
}
return result;
}
}
< 타인 답변 코드 >
class StringExercise{
String getMiddle(String word){
return word.substring((word.length() - 1) / 2, word.length() / 2 + 1);
}
}
이것을 주의하자!
- 짝수와 홀수에 따라서 추출해야 하는 글자수가 달라진다. 따라서 if 문으로 나눈 다음, substring( ) 메서드를 이용하여 원하는 값을 추출하는 알고리즘으로 작성했다.
- 타인 답변 코드를 보면 한 줄로 간단히 작성했다. substring( int start, int end ) 의 특성을 살렸다. 먼저 짝수든 홀수든 모두 시작 지점은 동일하다. 이때 숫자의 / 2 를 통해 나머지가 버려진다는 부분을 이용해서 작성한다.
'코딩 테스트' 카테고리의 다른 글
| [프로그래머스] (Lv.1) 비밀지도 ** (0) | 2022.09.02 |
|---|---|
| [프로그래머스] (Lv.1) 다트 게임 ** (0) | 2022.09.02 |
| [프로그래머스] (Lv.1) 나누어 떨어지는 숫자 배열 (0) | 2022.09.01 |
| [프로그래머스] (Lv.1) 두 정수 사이의 합 * (0) | 2022.09.01 |
| [프로그래머스] (Lv.1) 문자열 내 마음대로 정렬하기 ** (0) | 2022.09.01 |