2020.코딩일지
[JS][코플릿]Algorithm Basic-16_isIsogram 본문
728x90
문자열을 입력받아 아이소그램인지 여부를 리턴해야 합니다. 아이소그램(isogram)은 각 알파벳을 한번씩만 이용해서 만든 단어나 문구를 말합니다.
입출력예시
더보기
//입출력예시
let output = isIsogram('aba');
console.log(output); // false
output = isIsogram('Dermatoglyphics');
console.log(output); // true
output = isIsogram('moOse');
console.log(output); // false
👻
if (cache[strLowered[i]]) 이게 무슨소리냔... ?
키값으로 넣어놓고 있으면 false뱉
그런데 꼭 {a:true} 이렇게 쌍으로 해야하는건가?
{a:4}가능
{a:1} 가능 0은 false라는 의미가 있어서 불가능.....
값부분은 아무기능을 안하는것 같은데, false가 들어가면 에러남.. 그이유는뭘까?
function isIsogram(str) {
if (str.length === 0) {
return true;
}
let cache = {};
let strLowered = str.toLowerCase();
for (let i = 0; i < strLowered.length; i++) {
if (cache[strLowered[i]]) {//키값에있다면 (이미있어서 중복되었다는거니까) false뱉고종료
return false;
}
cache[strLowered[i]] = true; //키값에없다면, cache객체에 {strLowered[i]=true} 입력
}
return true; //중복된게없는거니까 true뱉고종료
}
'algorithm' 카테고리의 다른 글
[JS][코플릿]Algorithm Basic-19_decryptCaesarcipher (0) | 2022.08.14 |
---|---|
[JS][코플릿]Algorithm Basic-18_numberSearch (0) | 2022.08.14 |
[JS][코플릿]Algorithm Basic-17_computeSquareRoot (0) | 2022.08.14 |
[JS][코플릿]Algorithm Basic-15_modulo (0) | 2022.08.07 |
[코플릿]Algorithm Basic-14_superIncreasing (0) | 2022.08.07 |
Comments