알고리즘/프로그래머스

가운데 글자 가져오기(JAVA)

mrban 2022. 1. 14. 14:59

1. 문제

String s의 가운데 글자를 반환하는 함수, solution을 만들어야한다. 단, 단어의 길이가 짝수라면 가운데 두글자를 홀수라면 가운데 한 글자를 반환한다.

 

2. 제한
s는 길이가 1 이상, 100이하인 스트링입니다.
 
3. 정답
class Solution {
    public String solution(String s) {
        String answer;
        int length = s.length();

        if (length % 2 == 0) {
            answer = s.substring((length/2 - 1), (length/2) + 1);
        } 
        else {
            answer = String.valueOf(s.charAt(length/2));
        }

        return answer;
    }
}

4. 설명

4-1. .length() 함수를 사용해서 String s의 길이를 잰다.

4-2. 만약 String s의 길이가 짝수라면 .substring()함수를 사용하여 가운데 두글자를 뽑아낸다.

4-3. 만약 String s의 길이가 홀수라면 .charAt()함수를 사용하여 가운데 한글자를 뽑아내고 이를 다시 .valueOf()함수를 사용해 String형으로 변환한다.

4-4. answer값을 출력한다.

 

5. 참고

5-1. .length 속성은 배열의 길이를 잴 때 사용한다. .length() 내장함수는 String의 길이를 잰다.

5-2. 예를 들어 .substring(2)는 String의 2번째 인자 이후를 모두 출력하는 함수이다.  .substring(2,4)는 String의 2번째 인자부터 4번째 인자의 바로 직전 인자(3)까지 출력한다.

5-3. .charAt()함수는 String의 특정 문자를 뽑아내는 함수로 당연히 String에서 Char형으로 자료형이 바뀐다. .valueOf()함수는 입력받은 매개변수를 원하는 자료형으로 바꿔주는 함수이다. 예를들면 String.valueOf('A')는 A를 String으로 바꿔준다.

'알고리즘 > 프로그래머스' 카테고리의 다른 글

문자열을 정수로 가져오기(JAVA)  (0) 2022.01.15
음양더하기(JAVA)  (0) 2022.01.15
두 정수 사이의 합(JAVA)  (0) 2022.01.14
짝수와 홀수(JAVA)  (0) 2022.01.14
직사각형 별찍기(JAVA)  (0) 2022.01.14