문제 설명
문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 < before의 길이 == after의 길이 < 1,000
- before와 after는 모두 소문자로 이루어져 있습니다.
입출력 예
before | after | result |
"olleh" | "hello" | 1 |
"allpe" | "apple" | 0 |
import java.util.Arrays;
class Solution {
public int solution(String before, String after) {
char[] beforeChars = before.toCharArray();
char[] afterChars = after.toCharArray();
Arrays.sort(beforeChars);
Arrays.sort(afterChars);
String sortedBefore = new String(beforeChars);
String sortedAfter = new String(afterChars);
if (sortedBefore.equals(sortedAfter)) {
return 1;
} else {
return 0;
}
}
}
String을 문자로 받는 char 배열을 각각 생성했습니다. 이를 정렬하여 before와 after의 문자가 같은지 equals로 비교합니다. 같으면 1을, 다르면 0을 반환합니다. 배열을 생성하지 않고 charAt(i)로 각 문자를 받아서 비교하는 방법도 괜찮았을 것 같습니다.
'프로그래머스 > Lv. 0(코딩테스트 입문)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 대문자와 소문자(Java) (0) | 2023.04.02 |
---|---|
[프로그래머스 코딩테스트] 암호 해독(Java) (0) | 2023.04.02 |
[프로그래머스 코딩테스트] 최댓값 만들기(2)(Java) (0) | 2023.04.01 |
[프로그래머스 코딩테스트] 개미 군단(Java) (0) | 2023.04.01 |
[프로그래머스 코딩테스트] 순서쌍의 개수(Java) (0) | 2023.04.01 |