중복문자제거
소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성
■ 문제 풀이
1) 입력 설명
- 첫 줄에 문자열이 입력된다.
- 문자열의 길이는 100을 넘지 않는다.
- 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지
2) 출력 설명
- 첫 줄에 중복 문자가 제거된 문자열을 출력
3) 테스트
- input : ksekkset
- output : kset
4) 문제 풀이
- String 클래스의 indexOf() 함수를 이용
- 반복문을 돌며 index의 값과 indexOf() 함수의 값이 같은 경우 문자열에 속한 문자가 처음 등장했음을 의미한다.
import java.util.Scanner;
public class Main {
private String solution(String input) {
String answer = "";
for (int i = 0; i < input.length(); i++) {
//System.out.println(input.charAt(i) + ", " + i + " " + input.indexOf(input.charAt(i)));
char c = input.charAt(i);
if (i == input.indexOf(c)) {
answer += c;
}
}
return answer;
}
public static void main(String[] args) {
Main main = new Main();
Scanner scanner = new Scanner(System.in);
String input = scanner.next();
System.out.println(main.solution(input));
return;
}
}
'CodingTest Practice' 카테고리의 다른 글
[인프런] 유효한 팰린드롬 (0) | 2022.04.03 |
---|---|
[인프런] 회문 문자열 (0) | 2022.04.03 |
[인프런] 특정 문자 뒤집기 (0) | 2022.03.31 |
[인프런] 단어 뒤집기 (0) | 2022.03.30 |
[인프런] 문장 속 단어 (0) | 2022.03.29 |