728x90
중복 문자 제거
설명
소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성하세요.
중복이 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지합니다.
입력
첫 줄에 문자열이 입력됩니다. 문자열의 길이는 100을 넘지 않는다.
출력
첫 줄에 중복문자가 제거된 문자열을 출력합니다.
예시 입력
ksekkset
예시 출력
kset
풀이
문자열의 길이만큼 반복문을 돌며 다음 로직을 실행한다.
현재 위치의 문자가 발견된 위치가 현재 위치와 같다면 해당 문자를 answer 변수에 누적시킨다.
String의 indexOf(Char c)는 문자열에서 c가 처음으로 발견된 위치를 리턴한다.
코드
package solve;
import java.util.Scanner;
public class Main_1_6 {
public String solution(String str) {
String answer = "";
for(int i = 0; i < str.length(); i++) {
if(str.indexOf(str.charAt(i)) == i) { // str.indexOf(str.charAt(i)) 는 처음 문자가 발견된 위치, i 는 현재 위치
answer += str.charAt(i);
}
}
return answer;
}
public static void main(String[] args) {
Main_1_6 T = new Main_1_6();
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
System.out.println(T.solution(str));
}
}
728x90
'Coding Test Inflearn' 카테고리의 다른 글
[String] 유효한 팰린드롬 (0) | 2024.01.28 |
---|---|
[String] 회문 문자열 (2) | 2024.01.28 |
[String] 특정 문자 뒤집기 (0) | 2024.01.27 |
[String] 단어 뒤집기 (0) | 2024.01.26 |
[String] 문장 속 단어 (2) | 2024.01.26 |