해당 문제 첫 풀이는 List에 문자열을 담고 이중for문으로 모든 요소값을 비교하여 같다면 뒤에 나온 요소를 제거하는 방식으로 문제를 풀었는데 List, for문 if문 만 사용해서 문제를 풀었기 때문에 코드 라인도 길고 깔끔하지 않았다.
split과 Set을 사용하여 위 코드보다 깔끔하고 직관적으로 문제를 풀 수 있었다.
- String타입의 split 메소드로 my_string문자열을 한글자 한글자 떼어내어 String 배열로 변환한다.
- Set 자료형 사용하여 중복되는 문자를 제거하고 LinkedHashSet을 사용하여 순서를 유지한다.(HashSet은 순서가 무작위)
- String타입의 join메서드로 Set에 들어있는 문자들을 String으로 변환 후 return한다.
추가적으로 Stream을 활용하여 문제를 풀어보았다.
- String타입의 split 메소드로 my_string문자열을 한글자 한글자 떼어내어 String 배열로 변환한다.
- Stream 사용하여 distinct로 중복되는 문자를 제거하고 String배열로 반환한다.
- String타입의 join메서드로 String배열 b에 들어있는 문자들을 String으로 변환 후 return한다.
'JAVA STUDY > JAVA Practice' 카테고리의 다른 글
[JAVA Intellij] Build Tools 세팅 (0) | 2024.01.25 |
---|---|
[JAVA] 재귀함수 및 순열 예시 (0) | 2024.01.04 |
[JAVA Intellij] Jackson Intellij 적용 (0) | 2023.12.27 |
[JAVA] 기초 문법 Practice2 (1) | 2023.12.06 |
[JAVA] 기초 문법 Practice1 (1) | 2023.12.05 |