-
728x90
문제 설명
문자열
s
가 매개변수로 주어집니다.s
에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.제한 사항
- 0 < s의 길이 < 1,000
- s는 소문자로만 이루어져 있습니다.
답안
import java.util.*; class Solution { public String solution(String s) { String answer = ""; String[] arr = s.split(""); Arrays.sort(arr); for(int i=0; i<arr.length; i++) { int idx = s.indexOf(arr[i]); if(s.indexOf(arr[i],idx+1)==-1) { answer+=arr[i]; } } return answer; } }
먼저 문자열
s
를split()
을 통해 한글자씩 떼어내 문자열 배열로 만들어준다.그리고
Arrays.sort()
함수를 통해서 정렬한뒤 for문을 돌린다.이 때 문자열이 한번만 등장했다는건
indexOf()
로 첫번째index
뒤에 index에선 문자열이 없다는 의미이다.그걸 이용해서 첫번째 index값을 변수
idx
에 저장하고 if문을 통해 idx 다음 자리부터 같은 문자열이 있는지 확인한다.만약
-1
이 나온다면 처음 index에 있는 문자열을 제외하곤 없다는 의미이므로 answer에 문자열을 더해준다.728x90'algorithm' 카테고리의 다른 글
자바 알고리즘 - 영어가 싫어요 (0) 2023.09.04 자바 알고리즘 - 인덱스 바꾸기 (0) 2023.09.02 자바 알고리즘 - 약수 구하기 (0) 2023.09.02 자바 알고리즘 - 편지 (0) 2023.09.01 자바 알고리즘 - 가장 큰 수 찾기 (0) 2023.09.01