Anagram이란? 두개의 영단어가 같은 글자로 구성되어 있는데, 순서만 다를경우.
ex) wolf -> flow, elvis -> lives, monkey -> keymon
빠르게 찾는 알고리즘.
내 생각 : 각각의 단어를 ascii 문자 기준으로 xor, sum 값을 비교.
알려준 방법 : 단어를 알파벳 순으로 정렬을 함. 그리고 정렬한 알파벳을 다시 정렬함.
그러면 붙어있는 단어가 anagram.
내 생각을 구현을 해보았음.
flow = 18(xor), 312(sum)
wolf = 18(xor), 312(sum)
anagram = 87(xor), 503(sum)
managra = 87(xor), 503(sum)
역시 난 천재
'프로그래밍' 카테고리의 다른 글
[알고리즘] 달리기(Merge Sort를 활용) (0) | 2021.03.24 |
---|---|
[알고리즘] 감추어진 자연수들을 정렬했을 때 가장 큰 Gap 찾기 (0) | 2021.03.24 |
[알고리즘] 증명에 관해서 (0) | 2021.03.24 |
알고리즘을 짜는 나만의 방식 (0) | 2021.03.23 |
알고리즘 시간복잡도 (0) | 2021.03.22 |
댓글