Practice #3
Coddy의 Hash Table - 자료구조 시리즈 #4 코스 레슨 — 14개 중 12번째.
챌린지
쉬움두 개의 문자열 s1과 s2를 입력받아 두 문자열이 애너그램(anagram)인지 여부를 반환하는 함수 isAnagram을 작성하세요. 애너그램이란 순서에 상관없이 문자들의 구성 요소(multiset)가 동일한 것을 의미합니다.
비교 시 대소문자를 구분합니다. 길이가 다른 문자열은 절대로 애너그램이 될 수 없습니다.
반드시 hashmap.<ext>에 제공된 HashMap 클래스를 사용해야 합니다. 언어에서 기본으로 제공하는 set, dict, map 등은 사용하지 마세요.
직접 해보기
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"
int main() {
char s1[8192];
char s2[8192];
if (!fgets(s1, sizeof(s1), stdin)) s1[0] = '\0';
if (!fgets(s2, sizeof(s2), stdin)) s2[0] = '\0';
s1[strcspn(s1, "\r\n")] = '\0';
s2[strcspn(s2, "\r\n")] = '\0';
bool r = isAnagram(s1, s2);
printf("%s\n", r ? "true" : "false");
return 0;
}