Algorithm/JavaScript
[basics] 중복 문자 제거
_sweep
2021. 12. 6. 00:00
자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다.
📋 문제
소문자로 이루어진 문자열이 입력되면 중복된 문자를 제거하고 출력한다. 이때, 문자열의 각 문자는 원래 문자열의 순서를 유지한다.
👉 입력
소문자로 이루어진 문자열이 입력된다.
👈 출력
중복된 문자가 제거된 문자열을 출력한다.
💡 사용된 개념
String.indexOf()
String 객체에서 주어진 값과 일치하는 첫번째 인덱스를 반환한다.
일치하는 값이 없으면 -1을 반환한다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf
String.prototype.indexOf() - JavaScript | MDN
indexOf() 메서드는 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환합니다. 일치하는 값이 없으면 -1을 반환합니다.
developer.mozilla.org
📝 풀이
<script>
function solution(s) {
let answer = "";
for (const a of s) {
if (answer.indexOf(a) === -1) answer += a;
}
return answer;
}
console.log(solution("ksekkset"));
</script>
주어진 문자열들의 문자를 순회한다.
answer에 해당 문자열이 없으면 indexOf()의 결과는 -1이 된다.
이 조건에 만족하면 빈 문자열인 answer에 해당 문자를 추가해나간다.
이후 이미 answer에 있는 문자가 들어온다면 indexOf는 answer에서의 해당 문자의 인덱스를 반환하므로 -1이 될 수 없다.