자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다.
📋 문제
소문자로 이루어진 문자열이 입력되면 중복된 문자를 제거하고 출력한다. 이때, 문자열의 각 문자는 원래 문자열의 순서를 유지한다.
👉 입력
소문자로 이루어진 문자열이 입력된다.
👈 출력
중복된 문자가 제거된 문자열을 출력한다.
💡 사용된 개념
String.indexOf()
String 객체에서 주어진 값과 일치하는 첫번째 인덱스를 반환한다.
일치하는 값이 없으면 -1을 반환한다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf
📝 풀이
<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이 될 수 없다.
'Algorithm > JavaScript' 카테고리의 다른 글
[프로그래머스] 신규 아이디 추천 (0) | 2021.12.06 |
---|---|
[basics] 중복 단어 제거 (0) | 2021.12.06 |
[basics] 가운데 문자 출력 (0) | 2021.12.06 |
[basics] 대소문자 변환 (0) | 2021.12.06 |
[basics] 가장 긴 문자열 (0) | 2021.12.06 |
댓글