Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 셰프의찾아가는구내식당
- docker
- .dockerignore
- 직장인점심구독
- 샐러드
- docker image
- Plating
- 개발자 면접 질문
- 자바 stream
- 자바 암호화 알고리즘
- 프로그래머스
- 개발자 정규직
- 식단
- 신입 개발자 면접
- 프로그래머스 코딩테스트
- 신입 개발자 필수 면접 질문
- 신입 개발자 자바 면접 질문
- 개발자 면접
- 개발자 채용연계형인턴
- 개발자 인턴
- 자바 암호화 복호화
- 플레이팅
- 자바 암호화
- 코딩테스트 연습
- 신입 개발자 자바 면접
- 식단일기
- Linux
- 개발자 코딩테스트
- 도커
- 신입 개발자 면접 질문
Archives
- Today
- Total
달리는 두딘
[입문] 한 번만 등장한 문자 본문
문제 설명
제한사항
입출력 예
문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
제한사항
- 0 < s의 길이 < 1,000
- s는 소문자로만 이루어져 있습니다.
입출력 예
s | result |
"abcabcadc" | "d" |
"abdc" | "abcd" |
"hello" | "eho" |
입출력 예 설명
입출력 예 #1
- "abcabcadc"에서 하나만 등장하는 문자는 "d"입니다.
입출력 예 #2
- "abdc"에서 모든 문자가 한 번씩 등장하므로 사전 순으로 정렬한 "abcd"를 return 합니다.
입출력 예 #3
- "hello"에서 한 번씩 등장한 문자는 "heo"이고 이를 사전 순으로 정렬한 "eho"를 return 합니다.
내 코드 풀이
import java.util.*;
import java.util.stream.Collectors;
class Solution {
public String solution(String s) {
String str = "";
int cnt = 1;
List<String> list = new ArrayList<>();
Map<String, Integer> map = new HashMap<>();
String[] arr = s.split(""); // 문자열 하나씩 자르기
// 사전순 정렬
list = Arrays.stream(arr).sorted().collect(Collectors.toList());
s = String.join("", list); // 정렬 후 합치기
// indexoutofboundsexception 방지
for (int i = 1; i < list.size(); i++) {
str = list.get(i - 1);
if (str.equals(list.get(i))) { // 문자열 순차 비교
cnt++; // 순차 비교 후 전후 문자열이 같다면 cnt++
map.put(str, cnt); // a, 3
cnt = 1; // cnt 초기화
}
for (String key : map.keySet()) { // map 반복문
if (list.contains(key)) { // list에 key 포함한다면
s = s.replaceAll(key, ""); // 중복 문자열 제거
}
}
}
return s;
}
}
느낀 점
난 진짜 바보인가
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[2021 KAKAO BLIND RECRUITMENT] 신규 아이디 추천 (0) | 2022.11.03 |
---|---|
[2019 KAKAO BLIND RECRUITMENT] 오픈채팅방 (0) | 2022.11.02 |
[2022 KAKAO BLIND RECRUITMENT] 주차 요금 (0) | 2022.10.30 |
[2021 Dev-Matching: 웹 백엔드 개발자(상반기)] 로또의 최고 순위와 최저 순위 (0) | 2022.10.27 |
[입문] 영어가 싫어요 (4) | 2022.10.21 |