🎁 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/120896?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🎁 문제 설명
- 문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
🎁 입출력 예시
s | result |
"abcabcadc" | "d" |
"abdc" | "abcd" |
"hello" | "eho" |
🎁 코드
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
String[] sArr = s.split("");
HashMap<String, Integer> hashmap = new HashMap<>();
for(int i = 0; i < sArr.length; i++){
hashmap.put(sArr[i], hashmap.getOrDefault(sArr[i],0) + 1);
}
for(Map.Entry<String, Integer> map : hashmap.entrySet()){
if(map.getValue() == 1){
answer += map.getKey();
}
}
char[] c = answer.toCharArray();
Arrays.sort(c);
answer = new String(c);
return answer;
}
}
🎁 코드 설명
1) HashMap을 이용하여 문자열 s에 있는 각 문자의 갯수를 파악한다.
2) for문을 돌려서 value가 1인 경우만 answer에 key 값을 더해준다.
3) 사전순으로 정렬해야하기 때문에 answer를 배열로 치환하여 sort를 진행한다.
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
백준 5086번 : 배수와 약수 [Java] (0) | 2023.08.30 |
---|---|
[프로그래머스] Java :: 배열 회전시키기 (0) | 2023.08.28 |
[프로그래머스] 문자열안에 문자열 [Java] (0) | 2023.08.27 |
댓글