오늘의 코딩 테스트

오늘의 코딩 테스트(가운데 글자 가져오기)

oceanflow 2025. 2. 18. 10:11

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

 

제한 사항

s는 길이가 1 이상, 100 이하인 string

 

class Solution {
    public String solution(String s) {
        
        String answer = "";
        int length = s.length();
        int mid = length / 2;
        
        if (length % 2 == 0) {
            answer = String.valueOf(s.charAt(mid - 1)) + String.valueOf(s.charAt(mid));
        } else {
            answer = String.valueOf(s.charAt(mid));
        }
        
        return answer;
    }
}

 

처음에는 이렇게 구현했었다. charAt을 사용하고 String.valueOf를 사용해 char 타입을 String으로 변환해 주었다.

하지만 다른사람의 풀이를 보니 substring을 사용한 것을 알 수 있었다.

substring은 자바에서 문자열의 일부분을 추출하는 메소드인데

substring(Start Index) 형식으로 사용하거나 substring(Start Index, End Index) 형식으로 사용할 수 있다.

 

class Solution {
    public String solution(String s) {
        int position;
        int length;
        
        if (s.length() % 2 == 0) {
            position = s.length() / 2 - 1;
            length = 2;
        } else {
            position = s.length() / 2;
            length = 1;
        }
        
        return s.substring(position, position + length);
    }
}

 

이렇게 더 간결하게 만들 수 있다.