소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성하 세요.
제거된 문자열의 각 문자는 원래 문자열의 순서를 유지합니다.
▣ 입력설명
첫 줄에 문자열이 입력됩니다.
▣ 출력설명
첫 줄에 중복문자가 제거된 문자열을 출력합니다.
▣ 입력예제 ksekkset
▣ 출력예제 kset
function solution(letter) {
let answer = "";
for (let i = 0; i < letter.length; i++) {
console.log(letter[i], i, letter.indexOf(letter[i]));
if (i === letter.indexOf(letter[i])) {
answer += letter[i];
}
}
return answer;
}
let letter = "ksekkset";
console.log(solution(letter));
indexOf('문자') 란 해당 문자가 들어있는 첫번째 인덱스를 나타낸다. 즉, 중복된값이 여러개 있다고해도 처음으로 맞딱들이는 인덱스 번호를 나타낸다는것이다.
때문에, 풀이방법은 for문을 돌려 해당 문자열을 일단 탐색을한다.
그리고 console.log(letter[i], i, letter.indexOf(letter[i])); 로 탐색을 해보면
이런식으로 나오는데, index와 indexOf 값이 같은것만 답으로 출력을 하면된다.
고로, 조건문을 줘서 두 값이 같을때 나오는 문자들만 더해서 답으로 출력하면 된다.