📕 문제 설명
문자열 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) {
before = [...before].sort();
after = [...after].sort();
return before.every((v, i) => v === after[i]) ? 1 : 0;
}
문자열 before, after를 유니코드 값을 기준으로 정렬하고, every()
를 활용해 요소가 모두 동일하면 true, 아니면 false가 반환되도록 했다.
근데 제출하고 생각해보니
function solution(before, after) {
return [...before].sort().join('') === [...after].sort().join('') ? 1 : 0;
}
정렬한 값을 join()
을 사용해 문자열로 변환하여 비교하는 게 더 간단하지 않았을까 싶다.
단순하게... 복잡하게 생각하지 말고 있는 그대로 생각해보자... 🤦♀️
728x90
반응형
'프로그래머스 > Lv. 0 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] Lv.0 치킨 쿠폰 / JS (0) | 2023.08.15 |
---|---|
[프로그래머스] Lv.0 이진수 더하기 / JS (0) | 2023.08.14 |
[프로그래머스] Lv.0 k의 개수 / JS (0) | 2023.08.14 |
[프로그래머스] Lv.0 중복된 문자 제거 / JS (0) | 2023.08.14 |
[프로그래머스] Lv.0 삼각형의 완성조건 (1) / JS (0) | 2023.08.14 |