🤖Algorithm

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

Jaeyoung Kim 2022. 7. 15. 19:45
728x90

가운데 글자 가져오기


문제설명

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.

단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.


제한사항

  • s는 길이가 1 이상, 100이하인 스트링입니다.

입출력 예

s return
"abcde" "c"
"qwer" "we"

 


기본코드

class Solution {
    public String solution(String s) {
        String answer = "";
        return answer;
    }
}

문제풀이

변수 - String s의 글자 수가 몇 자이건 간에 짝수면 가운데 2 문자, 홀수면 1개 문자를 출력해야한다.

변수 s의 글자수를 확인해야하니 우선 .length() 함수로 찍어봐야한다.

 

그 다음, 짝수면 2개 문자, 홀수면 1개 문자를 출력해야하니 if문으로 상황을 부여 한다.

 

짝수면 2개 문자 - 짝수란 2로 나눴을 때 나머지 값이 없는 것.

//%2 == 0, 나머지는 else로 값을 출력하면 된다.

 

이렇게 문자 길이를 알아내고 상황 부여까지 마치고 나면 문자열에서 특정 문자를 추출할 수 있어야한다.

이 때 사용하는 함수는 substring()

//substring() 함수는 index 값이 1개가 들어갈 수도, 2개가 들어갈 수도 있다.
String a = "이건여섯글자"; //문자열 a에서 0번째 값은 "이"부터 5번째 값은 "자"이다.

//만약 substirng에 index값이 1개만 들어간다면 n번째 문자부터 끝자리에 위치한 문자까지 출력된다.
a.substring(1); // == "건여섯글자"

//2개의 index 값이 들어간다면 n번째 문자부터, n-1번째 문자까지 출력된다.
a.substring(1,4); // == "건여섯글"

Solution.java

class Solution {
    public String solution(String s) {
        String answer = "";
        int a = s.length()/2;
        if (s.length()%2==0){
            answer = s.substring(a-1, a+1);
            System.out.println(answer);
        }else{
            answer = s.substring(a, a+1);
        }
            return answer;
    }
}
728x90