프로그래머스 코딩테스트 연습: 가운데 글자 가져오기

728x90

Q. 문제

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

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

 

1> 풀이 방법

public class Solution {

    public static String solution(String s){
        String result = "";

        if(s.length() % 2 == 0 ){ //짝수
            result += s.charAt(s.length() / 2 -1);
            result += s.charAt(s.length() / 2);
        }
        else{
            result += s.charAt(s.length() / 2);
        }

        return result;
    }

파라미터 s의 길이에 따라서 케이스를 두 가지로 분류하였고(짝수, 홀수) String의 메서드 중에 charAt 메서드로 특정 index 요소를 뽑아서 

결과값에 저장하였다.   java 특성 중   문자열과 덧셈으로 int, char 타입을 더하면 문자열의 합처럼 자동으로 형 변환된다는 점을 이용했다.

 

 

2> 풀이 답변 (프로그래머스 우수답변 등재)

class Solution{
    String getMiddle(String word){

        return word.substring((word.length()-1) / 2, word.length()/2 + 1);    
    }

이 풀이만 유독 댓글이 많이 달려있었고, 나 또한 이 풀이를 처음 보고 느낀 점은 "와... 똑똑하다 " 였다. 

별다른 내용 없이 바로 return 값으로 substring을 사용한 점이 신선하게 느껴졌다.

728x90