문제
문제 설명
단어 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);
}
}
제출 코드 요약
- 처음에는 무식하게 문자열 나누기해서 인덱스로 추출해내려고 했으나 너무 시간복잡도가 올라갔다.
- 그래서 고안한 방법이 최대한 있는 조건을 이용해보는 걸로 생각해봤고 문자열 합치기 없이 구현하려했다.
- s.length()/2로 중간지점을 구했다.
- s.length()%2로 짝수인지 아닌지 구분했고 그에 따라 시작점만 다르게 지정해주었다.
- 결과는 0.01초 만족한다.