본문 바로가기

Plo Algorithm

프로그래머스 Lv1 가운데 글자 가져오기

가운데 글자 가져오기


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

int index = s.length / 2;

String type s의 length()를 2로 나눠 글자의 가운데를 index할 수 있는 int type객체를 생성

 

            if(0 < s.length() && s.length() < 100)

문제의 제한사항인 파라미터 s의 길이가 1이상 100이하일 때만 코드블럭이 실행되도록 조건을 설정

 

 if (s.length() % 2 == 0){ answer += s.substring(index-1 , index +1);}

s.substring(1 , 3)

s.substring(int begin index , int last index)

s.substring으로 시작인덱스와 마지막인덱스를 지정해주게 되면

시작인덱스 포함 , 마지막 인덱스에서 -1의 문자열을 모두 가져오게된다.

 

else {answer += String.valueOf(s.charAt(index));}

s.charAt(int index)

String문자열의 한글자만 지정해서 char타입으로 리턴해주는 함수이다

입력된 파라미터가 홀수일 때 미리 만들어둔 index객체를 통하여 중간값을 인덱스해 char타입으로 변환한다.

 

String.valueOf(object o)

괄호안의 값을 string타입으로 변환하여 할당한다.

s.charAt(index)는 char타입으로 객체를 리턴해주기 때문에

String 타입 객체에 값을 할당하려면 String.valueOf 메서드를 통해 스트링 타입으로

형변환 후 할당해주는 과정을 거쳐야한다.