TIL/알고리즘

아주 쉬운 알고리즘 - A로 B 만들기

saramnim 2023. 4. 1. 22:29
728x90

A로 B 만들기 알고리즘에 대해 알아보자!

Q. A로 B 만들기

문제 설명

문자열 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"을 만들 수 없습니다.

solution.js

처음 푼 풀이

function solution(before, after) {
    var bef = [...before].sort().join();
    var aft = [...after].sort().join();
    if(bef===aft){
        return 1;
    }else{
        return 0;
    }
}

처음 filter 풀이법을 잘 몰랐을 때에 작성한 풀이이다.

 

다시 푼 풀이

function solution(before, after) {
    return [...before].sort()
    .filter((el,i) => el !== [...after].sort()[i]).length 
    ? 0 : 1
}
728x90
반응형