문자열 ransomNote 와 magazine 이 주어질 때 magazine의 철자를 이용해서 ransomNote가 만들어 질 수 있으면 true, 아니라면 false를 리턴하는 문제이다
이 때 magazine에 있는 철자들은 한번씩만 사용할 수 있다고 한다
Example을 보자
magazine의 철자를 한번씩만 사용할 수 있으므로 2번 예시의 경우 false가 답이다
const canConstruct = function(ransomNote, magazine) {
magazine = magazine.split("");
for(char of ransomNote) {
if(magazine.includes(char)) {
magazine.splice(magazine.indexOf(char), 1);
}else {
return false
}
}
return true
};
먼저 magazine을 철자기준으로 분리해서 배열로 만들어 주고
ransomNote의 철자들을 순회하면서 magazine에 존재하는지 체크를 했다
만약 존재한다면 magazine에서 그 철자를 빼주었고
존재하지 않는다면 바로 false를 리턴해주었다
만약 for문을 다 돌 때까지 false가 리턴되지 않는다면 true를 리턴해주면 된다
submit을 해보니
정답이었다!