문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.
0 < before의 길이 == after의 길이 < 1,000
before와 after는 모두 소문자로 이루어져 있습니다.
before과 after을 배열로 만들고 before을 뒤집어 만든 배열과 비교해서 after배열과 뒤집은 배열이 같으면 1 다르면 0
import java.util.Arrays;
class Solution {
public int solution(String before, String after) {
int answer = 0;
String[] array = before.split("");
String[] reverseArr = new String[before.length()];
String[] arrayA = after.split("");
for(int i = before.length() -1 , j = 0 ; i >= 0 ; i--,j++ ){
reverseArr[j] = array[i];
}
if(reverseArr == arrayA){
answer = 1;
} else answer = 0;
return answer;
}
}
import java.util.Arrays;
class Solution {
public int solution(String before, String after) {
int answer = 0;
String[] array = before.split("");
String[] reverseArr = new String[before.length()];
String[] arrayA = after.split("");
Arrays.sort(array);
Arrays.sort(arrayA);
for(int i = 0 ; i < array.length ; i++){
if(array[i].equals(arrayA[i])){
answer = 1;
} else answer = 0;
}
return answer;
}
}
왜..이번에는 반대가 되는거지
import java.util.*;
class Solution {
public int solution(String before, String after) {
int answer = 0;
char[] beforeArr = before.toCharArray();;
char[] afterArr = after.toCharArray();
Arrays.sort(beforeArr);
Arrays.sort(afterArr);
String beforeStr = new String(beforeArr);
String afterStr = new String(afterArr);
if(beforeStr.equals(afterStr)){
answer = 1;
} else {
answer =0;
}
return answer;
}
}
진짜 배열을 뒤집은 다음 비교해서 푸는거긴 한데..🙄 char통해서 배열을 만든다음 배열 안의 값들이 애초에 다르다면 뒤집어도 같은 단어를 만들수 없으니까 0을 반환하는 방법으로 바꿔서 풀었다. char로 바꾼 배열을 다시 문자열로 바꾸는 과정을 빼먹어서 또 실행이 안되서 헤맸다.