[LeetCode] Ransom Note

준규·2022년 8월 30일
0

문자열 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을 해보니

정답이었다!

profile
안녕하세요 :)

0개의 댓글