정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요.
String을 List타입으로 바꿔서 remove를 활용하면 되지않을까? 반복문을 돌면서 처음으로 0이 아니면 반복문 탈출해서 그 이후의 값은 문자열로 반환시키고
class Solution {
public String solution(String n_str) {
String answer;
List<String> strArr = new ArrayList<>(Arrays.asList(n_str));
for(int i = 0 ; i < n_str.length(); i++){
if(strArr[i].equals("0")){
strArr.remove(i);
} else {
break;
}
}
answer = Arrays.toString(strArr);
return answer;
}
}
지금 n_str이 나눠져있지 않으니까 List에 담을수가 없구나
import java.util.*;
class Solution {
public String solution(String n_str) {
String answer;
String[] strArr = n_str.split("");
for(int i = 0 ; i < n_str.length(); i++){
if(strArr[i].equals("0")){
// strArr.remove(i);
strArr[i] = ""; // 해당 요소를 빈 문자열로 변경
} else {
break;
}
}
answer = Arrays.toString(strArr);
return answer;
}
}
빈문자열이 그대로 담긴 String[]형태로 반환되네...
StringBuilder사용해서 담을까?
import java.util.*;
class Solution {
public String solution(String n_str) {
String answer;
String[] strArr = n_str.split("");
for(int i = 0 ; i < n_str.length(); i++){
if(strArr[i].equals("0")){
strArr[i] = "";
} else {
break;
}
}
StringBuilder sb = new StringBuilder();
for(String str : strArr){
sb.append(str);
}
answer = sb.toString();
return answer;
}
}