2014년 7월 9일 수요일

6996 애너그램

두 단어가 서로 애너그램인지 아닌지를 판별하는 문제이다.
애너그램은 어떤 단어에서 알파벳 순서를 이리저리 바꿔서 나온 단어를 말한다.
내가 이 문제를 풀기 위해 사용한 방법은 (편의상 단어 A B라고 가정)
1. A의 알파벳 하나를 잡고 B의 알파벳들과 비교한다.
2. 만약 둘이 같은것이 있다면 A의 다음 알파벳으로 넘긴다.
3. 이때 매칭된 B의 알파벳을 소거한다. 이유는 A의 같은 알파벳이 두개이면, B도 두개여야 하기 때문. 소거하지않으면, B가 1개의 알파벳을 가지고 있어도 전부 만족할 것이다.
4. A의 모든 알파벳이 매칭되고, A와 B의 길이가 같으면 애너그램이다.

소스

p.s. 생각해보니 두 단어를 전부 정렬하고 같은지 비교하면 더 쉬울것 같다.

댓글 없음:

댓글 쓰기