
https://school.programmers.co.kr/learn/courses/30/lessons/120886
문제 설명
문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.
제한사항
0 < before의 길이 == after의 길이 < 1,000
before와 after는 모두 소문자로 이루어져 있습니다.
입출력 예
| before | after | result |
|---|---|---|
| "olleh" | "hello" | 1 |
| "allpe" | "apple" | 0 |
입출력 예 #1
"olleh"의 순서를 바꾸면 "hello"를 만들 수 있습니다.
입출력 예 #2
"allpe"의 순서를 바꿔도 "apple"을 만들 수 없습니다.
function solution(before, after) {
let reverseBefore = before.split('').sort().join('')
let sortAfter = after.split('').sort().join('')
return (reverseBefore === sortAfter)? 1 : 0;
}
🪐 다른 사람의 풀이
function solution(before, after) {
return before.split('').sort().join('') === after.split('').sort().join('') ? 1 : 0;
}
문제파악을 잘해야한다고 다시금 생각했다.
처음 문제를 보았을 때 reverse 문제인 줄 알았는데, 아나그램 문제였다.
다른 사람의 풀이를 보았을 때 같은 메서드들로 푼 문제지만, 조금 더 깔끔하게 작성 할 수 있는 것을 확인했다. 리팩토링을 조금 더 연습해야겠다.