Set
-
[프로그래머스 level2] 도넛과 막대 그래프 자바 DFS (Map, Set)코딩테스트 2025. 4. 15. 09:53
https://school.programmers.co.kr/learn/courses/30/lessons/258711 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제각 정점별로 번호가 주어져 있고, 도형은 도넛과 막대, 8자 3가지가 존재한다.주어진 정점 목록 edges를 참조하여최초 출발 정점과 각 도형의 갯수를 구하여라.참고사항edges : 정점들 [a,b] 형태이며, a번 정점에서 b번 정점으로 향하는 간선이 있다는 것을 나타냅니다.도넛 : edge == node막대 : edge == node -18자 : else접근edges를 정리하고 생성된 정점을 찾는 부분부터 막힘피드백1. inDegree..
-
[프로그래머스] 폰켓몬 자바 Set코딩테스트 2025. 4. 8. 11:45
https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제numbers.length 마리의 폰켓몬 중 numbers.length / 2 마리만큼 가져갈 수 있다.이 때 가져갈 수 있는 폰켓몬의 최대 종류의 수를 구하시오.접근1. 종류의 수를 구하기 위해 numbers에서 중복을 제거한다 -> Set에 담는다.2. Set의 사이즈 = 총 종류의 수.3. 가져갈 수 있는 마리 수 = numbers.length / 24. 가져갈 수 있는 마리 수 와 Set의 사이즈 중 최소값을 반환한다.public int..
-
[프로그래머스] 두 개 뽑아서 더하기 자바 오름차순 정렬 Set코딩테스트 2025. 4. 4. 23:02
문제int 배열 numbers 에서 두 수를 뽑아 합해서 나올 수 있는 모든 케이스를 배열에 담아 오름차순으로 정렬한 후 반환하시오. 접근중복을 제거하기 위해 Set을 활용하여 두 수를 더한 값을 담고 반환하는 하도록 작성하였다.public int[] solution(int[] numbers) { Set sumSet = new HashSet(); for(int i = 0; i 발견된 문제1.결과 배열이 정렬되지 않음현재 코드는 HashSet에서 값을 꺼낸 순서대로 배열에 저장하므로 정렬 보장 안 됨.2.성능 문제 (대량 데이터 시)중첩 for문으로 인해 시간 복잡도가 O(n²) → 대량 데이터에서 성능 저하수정기존 for문으로 int[] 에 저장하던 과정을Set.stream()...
-
[프로그래머스] 신고 결과 받기 자바. Set 활용 중복제거코딩테스트 2025. 4. 3. 12:24
https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제신고 후 처리 결과를 전송해야 한다.id_list : 전체 유저 목록이고, report는 "신고자 신고대상"의 집합이다.k는 정지기준이며 처리결과로 신고대상이 정지된 수의 집합이다. 제한사항* 한 번에 한 명의 유저 신고 가능. 횟수 제한 없음.* 동일 유저에 대한 신고 횟수는 누적되도 1회로 간주.* k번 이상 신고된 유저는 이용 정지. 유저 신고 내용을 모두 취합해 마지막에 한꺼번에 통보. 접근동일인이 동일대상을 신고하는데 제한이 없으므..