728x90
📍 15 - 중복 문자 제거 / 중복된 문자 찾기
중복되는 문자를 제거하려면 set의 특징인 중복 값 제거를 이용하면 쉽게 풀 수 있다. 강의에서는 indexOf를 사용했는데, 처음 배우는 방법이라 신기했다. 현재 index와 indexOf로 찾은 값이 다르면 중복된 문자, 같으면 처음보는 문자로 판단하는 로직이다.
강의 마지막에 중복된 문자를 찾는 방법도 알려주셨는데 indexOf과 while을 통해 찾을 수 있었다. 여기서 참고할 점은 indexOf(searchElement[, fromIndex])인데, indexOf를 사용 할 때 인자(parameter)를 하나 더 넘기면 해당 index부터 target를 찾는다. while을 사용해서 -1이 나오면 찾는 글자가 없기때문에 break하는 방법을 이용했다.
// 중복문자제거
console.log(isDuplicate("1234"));
// set
function solution(s) {
return [...new Set(s)].join('');
}
// indexOf
function solution(s) {
let answer = "";
for (let i = 0; i < s.length; i++) {
if (i === s.indexOf(s[i])) answer += s[i];
}
return answer;
}
728x90
// 중복된 문자 찾기
console.log(solution("algorithmic", "i"));
function solution(s, target) {
let cnt = 0;
let duplicatedIndex = s.indexOf(target);
while (duplicatedIndex !== -1) {
cnt++;
duplicatedIndex = s.indexOf(target, duplicatedIndex + 1);
}
return cnt;
}반응형
'Algorithm > 인프런(inflearn)' 카테고리의 다른 글
| [ 자바스크립트(JavaScript) ] 17 - 큰 수 출력하기 (0) | 2021.08.13 |
|---|---|
| [ 자바스크립트(JavaScript) ] 16 - 중복 단어 제거 (0) | 2021.08.12 |
| [ 자바스크립트(JavaScript) ] 14 - 가운데 문자 출력 (0) | 2021.08.12 |
| [ 자바스크립트(JavaScript) ] 13 - 가장 긴 문자열 (0) | 2021.08.12 |
| [ 자바스크립트(JavaScript) ] 12 - 대소문자 변환 (0) | 2021.08.12 |
댓글