본문 바로가기

코딩 테스트

[프로그래머스] (Lv.1) 가운데 글자 가져오기

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 를 통해 나머지가 버려진다는 부분을 이용해서 작성한다.