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


프로그래머스 “가운데 글자 가져오기” 문제 해결과정입니다.

가운데 글자 가져오기

문제설명

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

제한사항

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

입출력 예

sreturn
"abcde""c"
"qwer""we"

문제 해결과정

프로그래머스 코드

class Solution {
    public String solution(String s) {
        return (s.length() % 2 == 1) ? String.valueOf(s.charAt(s.length() / 2))
				: String.valueOf(s.charAt(s.length() / 2 - 1)) + s.charAt(s.length() / 2);
    }
}

먼저 짝수와 홀수를 구분하기 위해 s의 길이로 짝수와 홀수 경우를 나눈다. 홀수 일때 s의 길이를 2로 나눈 것을 인덱스 삼아 charAt로 문자를 반환한다. 짝수 일때는 s의 길이를 2로 나눈 것과 앞의 문자를 출력하기 위해 s.length() / 2 - 1를 작성했다.

에러

/Solution.java:3: error: incompatible types: bad type in conditional expression
        return (s.length() % 2 == 1) ? s.charAt(s.length() / 2)
                                               ^
    char cannot be converted to String
1 error

만약 String.valueOf를 사용하지 않으면 반환값이 달라 오류가 발생한다. String.valueOfCharacter.toString()를 사용하든 String으로 변환해주어야 한다.


댓글 남기기

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.