알고리즘/프로그래머스 Level1

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

류창 2021. 8. 15. 19:30
반응형

 

문제분석

문자열 s가운데 글자를 반환하면되는 문제다. 단어의 길이가 짝수면 가운데 두글자를 반환하면댄다.

 

문제풀이

 

문제 그대로 풀면 어렵지않는 문제였다. s의 길이를 잰뒤 홀수와 짝수인 경우를 구분해서 구현하면 된다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.*;
class Solution {
    public String solution(String s) {
        String answer = "";
        if(s.length()%2==1){
            answer=s.substring(s.length()/2,s.length()/2+1);
        }
        else{
            answer=s.substring(s.length()/2-1,s.length()/2+1);
        }
        
        return answer;
    }
}
cs

 

여기서 멈추지말고 한번더 확인해보자, 홀수와 짝수의 구현부가 매우 유사하다. 

 

이 부분을 스마트하게 더 줄일수가있다.

 

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

이 한줄이라면 홀수와 짝수 모든경우에 통용되는 코드다. 

반응형