728x90
https://school.programmers.co.kr/learn/courses/30/lessons/120886
문제)문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.
풀이1)
import java.util.Arrays;
class Solution {
public int solution(String before, String after) {
int answer = 0;
String[] b = new String[before.length()];
String[] a = new String[after.length()];
for(int i=0; i<before.length(); i++){
b[i] = before.substring(i, i+1);
a[i] = after.substring(i, i+1);
}
Arrays.sort(b);
Arrays.sort(a);
answer = Arrays.equals(a,b)?1:0;
return answer;
}
}
문자열 배열a와 문자열 배열b가 동일한지? Arrays.equals(a, b)배열 메서드를 사용하여 두개의 배열이 같은지 사용해서 확인하는 방법이 있고,
만약, Arrays.equals가 생각나지 않았을때 사용가능한 두번째 방법은
풀이2)
import java.util.Arrays;
class Solution {
public int solution(String before, String after) {
int answer = 0;
String[] b = new String[before.length()];
String[] a = new String[after.length()];
for(int i=0; i<before.length(); i++){
b[i] = before.substring(i, i+1);
a[i] = after.substring(i, i+1);
}
Arrays.sort(b);
Arrays.sort(a);
String na = "";
String nb = "";
for(int j=0; j<a.length; j++){
na += a[j];
nb += b[j];
}
answer = na.equals(nb)?1:0;
return answer;
}
}
그냥 만들어준 문자열 배열 a,b에 들어있는 값을 하나씩 새로운 문자열인 na, nb에 넣어주어서 그냥 단순한 equals로 비교를 해보는 것이다.
문자열 배열 비교에 사용 가능한거 : Arrays.equals(비교하려는배열1, 비교하려는 배열2)
문자열 비교에 사용가능한거 : 비교하려는문자열1.equals(비교하려는 문자열2)라는 점을 알아두면 편하다.
728x90
'프로그래밍 > Java(자바)' 카테고리의 다른 글
[SW Expert Academy] 1928. Base64 Decoder --java (0) | 2024.03.21 |
---|---|
[프로그래머스] 진료순서 정하기 --java (0) | 2024.03.21 |
[프로그래머스] 중복된 문자 제거 --java (0) | 2024.03.20 |
[프로그래머스] 합성수 찾기 --java (0) | 2024.03.20 |
[프로그래머스] 배열 회전시키기 --java (0) | 2024.03.19 |