가운데 글자 가져오기

김나영·2023년 6월 17일
0

프로그래머스

목록 보기
3/39

문제 : 가운데 글자 가져오기

풀이

if(s.length() % 2 == 0){
   answer = s.substring((s.length()/2) - 1, s.length()/2 + 1);
  • String s의 길이가 짝수일 경우 두 글자가 저장이 되야하므로 2로 나눈 나머지를 확인

  • substring을 이용하여 s.length()가 짝수일 경우 1/2 값의 1을 뺀 위치부터 +2한 위치까지 문자열 s를 자름

  • 인덱스가 0부터 시작하므로 1을 빼고 시작

else{
   answer = s.substring(s.length()/2, s.length()/2 + 1);
}
  • length()가 홀수일 경우에는 s.length()의 1/2 값 부터 +1한 값까지 substring으로 문자열 s를 자름

전체 코드

class Solution {
    public static String solution(String s) {
        String answer = "";
        if(s.length() % 2 == 0){
            answer = s.substring((s.length()/2) - 1, s.length()/2 + 1);
        }else{
            answer = s.substring(s.length()/2, s.length()/2 + 1);
        }
        return answer;
    }
}

또 다른 풀이 방법

class Solution {
    public static String Solution(String s) {
        String answer = "";
        String[] str = s.split(" ");
        if(str.length % 2 == 0) {
            answer += str[str.length/2-1];
            answer += str[str.length/2];
        }else {
            answer += str[str.length/2];
        }
        return answer;
    }
}
  • s를 한 글자씩 저장할 배열인 str 선언 및 생성

  • split() 메서드를 사용하여 s의 글자를 "" 기준으로 나누어 저장

  • s의 길이가 짝수일 경우 str.length/2에서 1을 빼주고 다시 str.length/2의 값을 더하여 answer에 저장

  • 홀수라면 str.length/2의 값을 더하여 answer에 저장


SubString()

  • String.substring(시작 인덱스); : 시작부터 끝까지
  • String.substring(시작 인덱스,마지막 인덱스; : 시작부터 끝 전까지

0개의 댓글