Skip to main content Link Search Menu Expand Document (external link) Copy Copied

문제

문제 설명

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

제한 사항

  • s는 길이가 1 이상, 100이하인 스트링입니다.

입출력 예

s return
“abcde” “c”
“qwer” “we”

제출 코드

class Solution {
    public String solution(String s) {
        return s.substring(s.length() / 2 - 1 + s.length() % 2, s.length() / 2 + 1);
    }
}

제출 코드 요약

  1. 처음에는 무식하게 문자열 나누기해서 인덱스로 추출해내려고 했으나 너무 시간복잡도가 올라갔다.
  2. 그래서 고안한 방법이 최대한 있는 조건을 이용해보는 걸로 생각해봤고 문자열 합치기 없이 구현하려했다.
  3. s.length()/2로 중간지점을 구했다.
  4. s.length()%2로 짝수인지 아닌지 구분했고 그에 따라 시작점만 다르게 지정해주었다.
  5. 결과는 0.01초 만족한다.