본문 바로가기
코딩테스트/자바 Level 0

[Java] 중복된 문자 제거

by onggury 2023. 7. 6.

문제

문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.

 

 

제한사항

  • 1 ≤ my_string ≤ 110
  • my_string 은 대문자, 소문자, 공백으로 구성되어 있습니다.
  • 대문자와 소문자를 구분합니다.
  • 공백(" ")도 하나의 문자로 구분합니다.
  • 중복된 문자 중 가장 앞에 있는 문자를 남깁니다.

 

 

import java.util.*;

class Solution {
    public String solution(String my_string) {
        String[] answer = my_string.split("");
        LinkedHashSet<String> strSet = new LinkedHashSet<String>(Arrays.asList(answer));
        return String.join("", strSet);
    }
}

파이썬의 set이 너무나도 그리웠다. 그래서 찾아보니 역시나 set과 같은 역할을 하는 게 있었다.

hashSet은 순서가 보장이 안되기에 LinkedHashSet으로 해결하였다.

 

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/120888