Note/Coding Test

[프로그래머스] Level 1: 가운데 글자 가져오기 (Java) 문제 풀이 / 핵심 내용 정리

728x90
반응형
가운데 글자 가져오기

 

🌞 문제 설명

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

재한사항
  • s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s return
"abcde" "c"
"qwer" "we"

 

풀이 계획

가운데 글자를 가져오기 위해 문자열의 길이를 절반으로 나누어 진행해야겠다.

 

👩‍💻 Java

나의 문제 풀이

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

다른 사람의 풀이

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

 

 핵심 정리

substring(int start): start 위치부터 끝까지 문자열 반환

substring(int start, int end): start 위치부터 end 전까지 문자열 반환

 

👀 반성의 시간

문제에 짝수일 경우에 대한 설명이 있어 단순히 짝수일 때, 홀수일 때를 나누어 코드를 작성했다.

나의 코드도 테스트에 통과하였지만, 다른 사람의 풀이를 보니

단 한 줄로 정상 출력이 가능한 코드를 만들었다. 간단해 보여도 머리를 탁! 치게 만든다.

더 간결하고 성능이 좋은 코딩을 위해 생각하는 능력을 길러야겠다.

728x90
반응형