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

Digeut·2023년 7월 28일
0

프로그래머스

목록 보기
85/164

❔문제설명

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

⚠️제한사항

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

🤔아이디어

문자열 s의 길이가 짝수와 홀수일때로 나눠서, 짝수일때는 s의 길이의 반 만큼에서 2자리까지 substring으로 가져오고, 홀수 일때는 s의 길이 반 + 1자리에서 1자리의 수를 가져온다 (int의 값을 가지니까 + 1을 해주기)

❌틀린코드

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

🙄오류

StringIndexOutOfBoundsException이 뜨는걸 보면 뭔가 범위의 설정이 잘못된거 같은데...

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

⭐부분을 2자리, 1자리라고 생각해서 입력했다..!
저 부분의 값도 index의 값을 입력해줘야 하는건데..!!!

💡코드풀이

class Solution {
    public 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;
    }
}
profile
개발자가 될 거야!

1개의 댓글

comment-user-thumbnail
2023년 7월 28일

개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.

답글 달기