import java.util.Arrays;
class Solution {
public String[] solution(int a, int[] arr1, int[] arr2) {
String[] as1 = new String[arr1.length];
String[] as2 = new String[arr2.length];
for(int i = 0; i < arr1.length; i++) {
as1[i] = Integer.toBinaryString(arr1[i]);
}
for(int i = 0; i < arr2.length; i++) {
as2[i] = Integer.toBinaryString(arr2[i]);
}
// as1과 as2에 String형으로 이진수로 바꾼거 배열해둠
long[] av1 = new long[arr1.length];
long[] av2 = new long[arr1.length];
for(int i = 0; i < arr1.length; i++) {
av1[i] = Long.parseLong(as1[i]);
}
for(int i = 0; i < arr1.length; i++) {
av2[i] = Long.parseLong(as2[i]);
}
long[] sum = new long[arr1.length];
for(int i = 0; i < arr1.length; i++) {
sum[i] = av1[i] + av2[i];
}
System.out.println(Arrays.toString(sum));
// 문제가지금sum마다 길이가 달라서 포문안에 포문을 못돌림 빈자리에 0을 넣는 식으로 새로해야될거같음
String[] str = new String[a];
String[] answer = new String[a];
for(int i = 0; i < a; i++) {
answer[i] = "";
str[i] = ""+sum[i];
}
System.out.println(Arrays.toString(str));
for(int i = 0; i < str.length; i++) {
for(int b = 0; b < a; b++) {
answer[i] += "0";
}
answer[i] += str[i];
}
System.out.println(Arrays.toString(answer));
String[] sibal = new String[a];
for(int i = 0; i < answer.length; i++) {
sibal[i] = "";
}
for(int i = 0; i < answer.length; i++) {
for(int b = str[i].length(); b < str[i].length()+a; b++) {
sibal[i] += answer[i].charAt(b); //b가 23456이돼야댐
}
}
System.out.println(Arrays.toString(sibal));
String[] ans = new String[a];
for(int i = 0; i < a; i++) {
ans[i] = "";
}
for(int i = 0; i < a; i++) {
for(int b = 0; b < a; b++) {
if(sibal[i].charAt(b) == '0'){
ans[i] += " ";
}else {
ans[i] += "#";
}
}
}
System.out.println(Arrays.toString(ans));
return ans;
}
}
+1점
+1점
[참고자료] : https://codechacha.com/ko/java-extract-integers-from-string/
문자와숫자가 섞여 가득한 곳에서 숫자만 추출하는 방법.