반응형
1) 문제
https://school.programmers.co.kr/learn/courses/30/lessons/131128
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
2) 내가 구현한 코드
import java.util.*;
import java.util.stream.*;
class Solution {
public String solution(String X, String Y) {
Map<String, Integer> xMap = new HashMap<>();
Map<String, Integer> yMap = new HashMap<>();
List<String> list = new ArrayList<>();
for(String key: X.split("")) {
xMap.put(key, xMap.getOrDefault(key, 0)+1);
}
for(String key: Y.split("")) {
yMap.put(key, yMap.getOrDefault(key, 0)+1);
}
for(String key: xMap.keySet()) {
//y에 x가 없다면 건너뛰어라!
if(!yMap.containsKey(key)) continue;
//y에 x가 있다면 둘 중 최소값의 갯수만큼 추가해라 (동일한 숫자 추가)
int length = Math.min(xMap.get(key), yMap.get(key));
for(int i = 0; i < length; i++) {
list.add(key);
}
}
//추가된 숫자들로 stream 연산 실행 - 내림차순 정렬 후 하나의 문자열로 합침
String result = list.stream()
.sorted(Collections.reverseOrder())
.collect(Collectors.joining());
if(result.isEmpty()) return "-1";
if(result.replaceAll("0", "").isEmpty()) return "0";
return result;
}
}
3) 추가 문제
미들러 - 주사위 윷놀이
https://www.acmicpc.net/problem/17825
챌린저 - n + 1 카드게임
https://school.programmers.co.kr/learn/courses/30/lessons/258707
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
반응형
'coding_test' 카테고리의 다른 글
[99클럽 5기 코테 스터디 TIL 2일차] 랜선 자르기 (feat. 이진탐색) (0) | 2025.01.15 |
---|---|
[99클럽 5기 코테 스터디 TIL 1일차] 암기왕 (feat. 이진탐색) (0) | 2025.01.14 |
[99클럽 4기 코테 스터디 TIL 34일차] 햄버거 만들기 (feat. StringBuilder로 추가하면서 숫자 체크) (0) | 2024.12.01 |
[99클럽 4기 코테 스터디 TIL 33일차] 탕수육 (feat. String의 길이가 짝수/홀수) (1) | 2024.11.29 |
[99클럽 4기 코테 스터디 TIL 32일차] H-Index (feat. 배열을 내림차순으로 정렬 - int) (0) | 2024.11.28 |