728x90
1. 문제
문제 구조는 다음과 같다.
- 주어진 두 A, B string 배열을 비교하여, A배열에서 단어를 완벽히 사용하여 B 배열의 문장을 완성할 수 있는지 확인하여, 그 여부를 출력하는 간단한 문제이다.
2. 문제 풀이
2.1 풀이 과정
function checkMagazine(magazine, note) {
// Write your code here
var result = true;
note.forEach(str =>{
const idx = magazine.indexOf(str);
if(idx == -1){
result = false;
return;
} else {
magazine.splice(idx, 1);
}
});
console.log(result? "Yes": "No");
}
풀이 과정은 다음과 같다.
- “result” 변수의 초기값을 true로 설정한다.
- “note” 배열에 들어있는 “str”값을 순회한다.
- “magazine” 배열에 존재하지 않는 “str”값이면 “result” 값을 false로 설정하고 순회를 종료한다.
- “magazine” 배열에 존재하는 “str”값이면 해당 배열에서 값을 제거하고, 순회를 이어간다.
- 순회가 종료되면 “result”변수의 값에 따라 “Yes” 혹은 “No”를 출력한다.
2.2 풀이 결과
Hash Table 카테고리에서 쉬운 난이도로 제공되는 문제인지라,
어렵지 않게 통과하였다.
반응형
'Coding Test > HackerRank' 카테고리의 다른 글
HackerRank 문제풀이 - 11 (Sherlock and Anagrams) (0) | 2023.08.06 |
---|---|
HackerRank 문제풀이 - 10 (Two Strings) (0) | 2023.06.11 |
HackerRank 문제풀이 - 8 (Array Manipulation) (0) | 2023.06.11 |
HackerRank 문제풀이 - 7 (New Year Chaos) (0) | 2022.12.18 |
HackerRank 문제풀이 - 7 (Minumum Swaps 2) (0) | 2022.12.17 |