본문 바로가기
Java

[프로그래머스] 중복된 문자 제거

by hunbal 2023. 10. 16.
SMALL

문제 설명 및 예시

문자열에서 중복된 문자를 하나만 남겨 반환하는 함수를 완성하는 문제이다.


풀이

중복 제거 방법에 대해 고민하다가 반복문이나 조건문을 활용한 방법이 아닌 다른 방법을 활용한 코드를 작성하고 싶었다.

구글링을 하다가 distinct() 메서드를 알게 되어 문제에 적용해보기로 했다.

 

1. 문자열을 chars() 메서드 IntStream으로 변환한다. *반복문보다 간결하고 가독성 좋게 활용 가능하다고 한다.

2. distinct() 메서드중복된 요소를 제거한다. *중복된 요소 중 하나만 남긴 후 스트림으로 반환한다.

3. mapToObj() 메서드를 사용하여 스트림의 각 요소를 변환한다.
4. Collectors.joining() 메서드를 사용하여 스트림의 각 요소를 문자열로 결합한다.

   *joining() 메서드는 각 요소 사이에 아무 구분자도 넣지 않고 스트림의 요소를 연결하여 하나의 문자열로 반환한다.

 

 

이번 문제는 처음 알게 된 함수들을 활용하여 해결해보았는데 아직 스트림이 익숙치 않지만 간결한 코드를 작성할 수 있어 좋은 것 같다. distinct() , Collectors.joining() 메서드에 대해 알아볼 수 있는 유익한 문제였다. 

 

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

댓글