Soltuion 1) 내 풀이
class Solution {
    public String solution(String n_str) {
        String[] strArray = n_str.split("");
        int zeroIdx = -1;

        for (int i = 0; i < strArray.length; i++) {
            if (!strArray[i].equals("0")) {
                break;
            } if (strArray[i].equals("0")) {
                zeroIdx = i;
                if (!strArray[i + 1].equals("0")) {
                    break;
                }
            }
        }
        
        n_str = "";
        for (int i = zeroIdx == -1 ? 0 : zeroIdx + 1; i < strArray.length; i++) {
            n_str += strArray[i];
        }
        return n_str;
    }
}

 

Solution 2) 다른 사람의 풀이
class Solution {
    public String solution(String n_str) {
        return ""+Integer.parseInt(n_str);
    }
}

 

코드 및 문제 리뷰

문자열로 주어지는 숫자의 가장 앞에 0이 있다면 있는 0을 모두 뗀 후 반환, 없다면 그대로 반환하는 문제이다.

 

나는 열심히 반복문을 돌려 앞에 0이 있는지, 없는지 등을 확인하며 처리 해냈다.

그치만 발상의 전환으로 그 값을 바로 int화 하면 앞의 0은 자연히 사라지는 문제였다.

+ Recent posts