function solution(before, after) {
// 문자열 before를 뒤집어 after와 비교
if (before.split('').reverse().join('') === after) {
return 1;
} else {
return 0;
}
}
좀 더 쉬운 이해를 위해서 예시를 긁어왔다.
before = dlrowolleh
after = worldhello
before == after
False
before == dlro + wolleh
True
after == world + hello
True
before == dlro + wolleh == after == world + hello
True
첫 번째 비교는 문자열 before와 after를 비교합니다. 두 문자열의 순서가 다르기 때문에, 비교 결과는 False입니다.
두 번째 비교는 문자열 before를 뒤집은 문자열과 비교합니다. 두 문자열의 문자가 모두 동일하기 때문에, 비교 결과는 True입니다.
세 번째 비교는 문자열 after를 두 부분으로 나누어 비교합니다. 두 부분의 문자가 모두 동일하기 때문에, 비교 결과는 True입니다.
네 번째 비교는 두 번째 비교와 세 번째 비교의 결과를 비교합니다. 두 비교의 결과가 모두 True이기 때문에, 네 번째 비교의 결과도 True입니다.
따라서, 문자열 before와 after는 문자열의 순서를 고려하지 않으면 동일하다고 할 수 있습니다.
하지만, 문자열 dlro와 world는 순서가 다르고, 문자열의 길이가 다르기 때문에, 실제로는 동일하지 않습니다.
function solution(before, after) {
var answer = 0;
const sortedBefore = before.split('').sort().join('');
const sortedAfter = after.split('').sort().join('');
// 정렬된 문자열이 동일하면 1을 반환, 아니면 0을 반환
if (sortedBefore === sortedAfter) {
return 1;
} else {
return 0;
}
}
function solution(before, after) {
return before.split('').sort().join('') === after.split('').sort().join('') ? 1 : 0;
}