java를 잡아 - 중복된 문자열을 제거해보자

안녕하세요 jay입니다.
오늘은 java로 중복된 문자열을 제거해보는 시간을
가지겠습니다!
음.. HashSet이나 ArrayList로도 지울 수 있지만
이번엔 오직 String만 이용해서 제거를 해보겠습니다.

생각보다 간단합니다.
저희가 준비해야할 것은 오직 빈 문자열을 가진 String 변수입니다.
코드 먼저 보시겠습니다.


import java.util.Scanner;

public class test {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Scanner sc = new Scanner(System.in); // 사용자의 입력을 받을 Scanner 객체 생성
  String inputStr = sc.nextLine(); // 사용자가 입력한 문자열(한 문장)을 inputStr에 저장
  String result = ""; // 중복이 되지 않은 문자열을 저장할 문자열 생성
  
  for(int i = 0; i < inputStr.length(); i++) { // i가 0부터 사용자가 입력한 문자열의 길이만큼 반복문을 돌린다.
   if(!result.contains(String.valueOf(inputStr.charAt(i)))) { // 사용자가 입력받은 문자열의 i번째 문자를 String으로 바꾸고 result에 이 문자가 포함되어 있지 않다면
    result += String.valueOf(inputStr.charAt(i));  // result에 계속 추가, 즉 중복되지 않으면 추가
   }
  }
  System.out.println(result);
 }
}

간략하게 설명드리면
저희가 입력한 문자열을 빈 문자열과 비교해서
겹치지 않으면 빈 분자열에 저장하면됩니다.
상세한 설명은 주석을 보시길 바랍니다ㅎㅎ!

댓글