코딩 테스트 풀이 🛠

[프로그래머스] A로 B 만들기

엄성준 2023. 2. 9. 00:45

문제 설명

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

 

나의 풀이

 

1
2
3
4
5
6
7
function solution(before, after) {
    var answer = 0;
    
    before.split('').sort().join(''=== after.split('').sort().join('') ? answer = 1 : answer =0
    
    return answer;
}
cs

 

문제를 풀며 느낀 점

 

- 먼저 문제의 핵심을 파악하는 것을 중요시해야 할 것같습니다. 처음 문제를 접했을 때 문자열을 거꾸로 뒤집어서 일치하면 return 1을 해주었었는데 그것이 아니고 before와 after순서에 상관없이 값이 일치하면 return 1을 해주어야되기 때문에 문자열을 split('')함수로 나눈뒤 sort정렬을 하고 join으로 합친값이 일치하면 return 1을 해주었습니다.