티스토리 뷰
728x90
반응형
anagram - 애너그램
어떠한 단어의 문자를 재배열하여 다른 뜻을 가지는 다른 단어로 바꾸는 것을 말한다.
function validAnagram(first, second) {
if (first.length !== second.length) {
return false;
}
const lookup = {};
for (let i = 0; i < first.length; i++) {
let letter = first[i];
//lookup[letter] 이미 존재하면 갯수를 +1 해준다. 즉 중복개수 체크
lookup[letter] ? lookup[letter] += 1 : lookup[letter] = 1;
}
console.log(lookup) //{ a: 3, n: 1, g: 1, r: 1, m: 1, s: 1 }
for (let i = 0; i < second.length; i++) {
let letter = second[i];
if (!lookup[letter]) {
return false;
} else {
lookup[letter] -= 1;
}
}
return true;
}
// {a: 0, n: 0, g: 0, r: 0, m: 0,s:1}
validAnagram('anagrams', 'nagaramm')
728x90
반응형
'알고리즘' 카테고리의 다른 글
Frequency Counter - 빈도수 체크 (0) | 2023.03.05 |
---|
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- svg icon font
- RefreshToken
- Angular
- interceptors
- react-router-dom
- 앵귤러
- git checkout -b
- Aptana
- git
- vue-router
- 코도바
- 반복문
- svg 폰트
- Intrinsic
- React.StrictMode
- icon font
- anime.js
- 내장요소
- 리프래시토큰
- svg모션
- for of 구문
- 아이콘 폰트 만들기
- Vue3
- JsDoc
- cordova
- react
- IntrinsicElements
- 태그
- 자바스크립트
- CSS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함