CodeWars 예순 한 번째 문제
Updated:
Make the Deadfish swim
public static int[] parse(String data) {
int[] result = new int[data.length() - data.replace("o", "").length()];
int sum = 0;
for(int i=0, j=0; i < data.length(); i++) {
String letter = data.substring(i,i+1);
if("i".equals(letter)) {
sum++;
} else if("d".equals(letter)) {
sum--;
} else if("s".equals(letter)) {
sum *= sum;
} else {
result[j++] = sum;
}
}
return result;
}
-
Best 코드의 경우 List로 선언해서 결과 값을 담은 후에 마지막에 배열로 변환시켜 반환하였다.
-
그러나 나의 경우처럼 replace를 이용하여 처음부터 result의 개수를 선언하면 깔끔해진다.