알고리즘/프로그래머스

[프로그래머스]연습문제>가운데 글자 가져오기 Java

Ellie67 2021. 6. 27. 22:48

https://programmers.co.kr/learn/courses/30/lessons/12903

 

코딩테스트 연습 - 가운데 글자 가져오기

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret

programmers.co.kr

 

내가 작성한 코드

class Solution {
    public static String solution(String s) {
        String answer = "";
        char[] arr = s.toCharArray();
        if(s.length() % 2==0) {
        	answer = arr[(s.length()/2)-1]+""+arr[s.length()/2];
        } else {
        	answer = arr[s.length()/2] +"";
        }
        return answer;
    }
}

 

좋아요 가장 많이 받은 다른 사람의 풀이

// 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
class StringExercise{
    String getMiddle(String word){

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

substring을 사용하면 훨씬 짧게 나타낼 수 있다.

자바로 코테 보려면 메서드를 많이 알아둬야겠다..