자료구조 및 알고리즘/JavaScript Practice

JS Practice) 프로그래머스 : A로 B만들기

Ryomi 2023. 3. 8. 09:30
728x90
반응형

 

Q) 2개의 문자열, before와 after가 주어질 때, before의 순서를 바꿔 after를 만들 수 있으면 1, 만들 수 없으면 0을 return 하는 함수를 만들어라.

ex) before : 'olleh', after : 'hello' // 1

ex) before : 'allpe', after : 'apple' // 2

 
첫번째 풀이)

function solution(before, after) {
    let reverse = after.split("").reverse().join("");
    return before === reverse ? 1 : 0;
}

 

제출 후 최종 통과가 되지 않아 한참을 헤메었다. 
문제를 자세히 보지 않았던게 헤메었던 이유였다. 
문제를 보면, '순서를 바꿔 만들 수 있다'고 한다.
처음 접근할 때, 단순히 문자열을 뒤집는 다고만 생각했는데,
다시 문제를 읽어보니, 'before의 문자열 순서를 재조합해 after 문자열을 만들 수 있는가' 였다.
문제를 이해하고 풀면 이렇게 쉬운데... 하..  

 
solution)

function solution(before, after) {
    before = before.split("").sort().join("");
    after = after.split("").sort().join("");
    return before === after ? 1 : 0
}

 

728x90
반응형