본문 바로가기
프로그래머스/[프로그래머스 - JAVA] Lv.1

[프로그래머스 - JAVA] 가운데 글자 가져오기

by 코딩하는 흰둥이 2023. 3. 28.


  • 내 풀이
class Solution {
    public String solution(String s) {
        String answer = "";
        
        // 가운데 index를 구함
        int index = (s.length() / 2);
        if(s.length() % 2 == 1){
            answer = String.valueOf(s.charAt(index));
        }else {
        // 짝수는 가운데가 2글자이기 때문에 자른 값과 앞의 값을 return 해줌
            answer = String.valueOf(s.charAt(index -1)) + String.valueOf(s.charAt(index));
        }
        return answer;
    }
}

 

class Solution {
    public String solution(String s) {
        String answer = "";
        
        int index = (s.length() / 2);
        answer = (s.length() % 2 == 0 ? String.valueOf(s.charAt(index-1)) + String.valueOf(s.charAt(index)) : String.valueOf(s.charAt(index)));

        return answer;
    }
}

한줄로도 되려나 싶어서 했는데 가독성이 좋지 않다

 

 

  • 다른 사람 풀이
class Solution {
  public String solution(String s) {
      int ans = s.length();
        if (ans % 2 == 1){
         return Character.toString(s.charAt(ans/2));   
        }
        else{
            return s.substring(ans/2-1, ans/2+1);
        }
    }
}

 

substring을 생각못했다

아래 코드로 새로 작성하여 제출함

  • 코드 수정
class Solution {
    public String solution(String s) {
        String answer = "";

        int index = (s.length() / 2);
        answer = (s.length() % 2 == 0 ? s.substring(index -1 , index+1) : s.substring(index , index+1));
        return answer;
    }
}

댓글