본문 바로가기
Algorithm

[알고리즘] 프로그래머스 - 가운데 글자 가져오기

by byeongoo 2020. 3. 30.

오늘 풀어본 문제는 프로그래머스의 가운데 글자 가져오기입니다.

1. 문제

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

2. 나의 코드

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

      return answer;
  }

  public boolean isEven(int num){
      if(num%2 == 0)
          return true;
      else
          return false;
  }
    
}

짝수일때와 홀수일때를 나눠서 빠르게 시작 지점을 파악하였습니다. String.substring(start.end)를 사용했는데 여기서 주의할 점으로는 end 전까지의 문자열을 잘라서 return해준다는 것입니다.

3. 다른 사람의 풀이

class StringExercise{
    String getMiddle(String word){

        return word.substring((word.length()-1) / 2, word.length()/2 + 1);    
    }
    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void  main(String[] args){
        StringExercise se = new StringExercise();
        System.out.println(se.getMiddle("power"));
    }
}

하지만 이렇게 짝수 홀수를 나누지 않더라도 한줄로 해결할 수 있습니다.