Back-end/Algorithm

[프로그래머스][코딩테스트 연습] 가운데 글자 가져오기

Nellie Kim 2022. 11. 18. 20:32
728x90

내 풀이

class Solution {
    public static String solution(String s) {
        String answer = "";
        int ansLen = answer.length();
        int mid;
        
        if(ansLen % 2 == 1) {
        	mid = (ansLen / 2) + 1;
            String ansMid1 = answer.substring(mid);
        	return ansMid1;
        }else {
        	mid = (ansLen / 2);
        	String ansMid2 = answer.substring(mid, mid + 2);
        	return ansMid2;
        }
    }

매개변수.length () 를 해야하는데,  answer.length() 를 했다;;;;;;;;;;;;;;;;;;;;

 

 

 

 

힌트 얻고 수정한 풀이

class Solution {
    public static String solution(String s) {
        String answer = "";
        int ansLen = s.length();
        
        if(ansLen % 2 == 1) {
        	int mid = (ansLen / 2);
            answer = s.substring(mid, mid + 1);
        	return answer;
        }else {
        	int mid = (ansLen / 2) - 1;
        	answer = s.substring(mid, mid + 2);
        	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() 정리

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