쉬움 0명 해결 정답률 0%

Anagram Check

Check whether two phrases use the same letters.

배우게 될 내용

  • Normalize text by case and spaces
  • Compare letter counts or sorted letters
  • Choose between sorting and counting

문제

번역본 보기

Two phrases are anagrams if they contain exactly the same letters the same number of times, ignoring case, spaces and punctuation.

Implement is_anagram(first, second).

Input

first: The first phrase. second: The second phrase.

Output

Return true if the phrases are anagrams.

제약 조건

0 ≤ length of each ≤ 10,000 (ASCII)

예시

예시 1
입력:
first = "Listen"
second = "Silent"

예상 출력:
expected = True
입력:
std::string first = "Listen";
std::string second = "Silent";

예상 출력:
bool expected = true;
입력:
string first = "Listen";
string second = "Silent";

예상 출력:
bool expected = true;

설명

Both use e, i, l, n, s, t once each.

예시 2
입력:
first = "apple"
second = "paddle"

예상 출력:
expected = False
입력:
std::string first = "apple";
std::string second = "paddle";

예상 출력:
bool expected = false;
입력:
string first = "apple";
string second = "paddle";

예상 출력:
bool expected = false;

설명

The letters and counts differ.

접근 방법

먼저 스스로 풀어 본 뒤 힌트를 하나씩 열어 보세요.

힌트 1

Remove non-letters and ignore case before comparing.

힌트 2

Count character frequencies for both phrases, or sort their normalized forms.

힌트 3

Punctuation and spaces should not affect the result.

예상 복잡도

O(n) time, O(1) extra space

참고 자료

이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.

다른 사람의 풀이 보기

커뮤니티 솔루션

아직 공개된 풀이가 없습니다. 문제를 풀고 첫 풀이를 공유하세요.