public class FoldPaper {
public int[] solution(int n) {
StringBuilder sb = new StringBuilder("0");
for (int i = 1; i < n; i++) {
sb = new StringBuilder(sb.toString() + "0" + convertStr(sb.toString()));
}
int[] answer = new int[sb.length()];
for (int i = 0; i < answer.length; i++) {
answer[i] = Integer.parseInt(sb.charAt(i) + "");
}
return answer;
}
private String convertStr(String str) {
StringBuilder sb = new StringBuilder(str).reverse();
sb = new StringBuilder(sb.toString().replaceAll("1", "t"));
sb = new StringBuilder(sb.toString().replaceAll("0", "1"));
sb = new StringBuilder(sb.toString().replaceAll("t", "0"));
return sb.toString();
}
}