본문 바로가기

문제 풀이/Programmers

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

문제 출처 - Programmers

문제는 여기

 

코딩테스트 연습 - 가운데 글자 가져오기

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret

programmers.co.kr


[풀이]

1. substring을 사용해서 가운데 글자를 자른다.

1-1. 홀수의 경우, 가운데 글자~가운데 글자 + 1 사이의 글자를 가져오므로 정상 출력된다.

1-2. 짝수의 경우, 가운데 글자~(가운데 글자 + 1) + 1의 글자를 가져오므로 정상 출력된다.

[접근]

1. substring을 사용해서 가운데 글자만 가져오면 되겠다고 생각하였다.

[코드]

class Solution {
    public String solution(String s) {
        String answer = "";
        
        // 문자열 반 잘라서 해당 위치 출력하기
        // 최대 2글자니까 a~b까지로 지정해주기 위해 substring(a,b)로 사용
        // 전체에서 반 ~ 반 + 1 사이
        // 홀수라면 가운데만
        // 짝수라면 가운데를 기준으로 왼쪽 오른쪽 1개씩해서 2글자
        return answer = s.substring((s.length() - 1) / 2, s.length() / 2 + 1);
    }
}