JAVA 알고리즘

(JAVA) 단어 s의 가운데 글자를 반환하는 함수

lastdove 2024. 9. 19. 15:26

▶ 문제

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

★ 풀이방식
주어진 Solution 클래스를 기반으로, solution 메서드 안에서 문자열 s의 가운데 글자를 반환하도록 구현

▶ 소스코드

class Solution {
    public String solution(String s) {
        String answer = "";
        int length = s.length();
        int mid = length / 2;

        // 짝수 길이면 가운데 두 글자를 반환, 홀수 길이면 가운데 한 글자를 반환
        if (length % 2 == 0) {
            answer = s.substring(mid - 1, mid + 1); // 짝수일 때는 mid 앞 글자와 mid 포함 두 글자
        } else {
            answer = s.substring(mid, mid + 1);     // 홀수일 때는 mid 위치의 한 글자만 반환
        }

        return answer;
    }
}

▶ 설명

  • length는 문자열 s의 길이를 저장하고, mid는 문자열의 중간 인덱스를 계산
  • if (length % 2 == 0) 조건문은 문자열 길이가 짝수인 경우를 처리하며, 짝수일 때 가운데 두 글자를 substring(mid - 1, mid + 1)로 추출
  • 문자열 길이가 홀수일 때는 substring(mid, mid + 1)로 가운데 글자 하나만 추출
  • 마지막에 answer를 반환함