본문 바로가기
K번째 큰 수 treeset - 중복제거용으로 많이 사용 1~100 사이의 자연수가 적힌 카드 중 3개를 뽑았을때 합이 k번째로 큰 값 구하기, 자연수는 중복 가능 treeset을 사용하여 중복없이 뽑을 수 있다 3중for문으로 i = 0; j = i+1, k = j+1 조건으로 해 두면 뽑는 카드는 중복이 되지 않는다! TreeSet tset = new TreeSet(Collections.reverseOrder()); - reverseOrder로 내림차순 import java.util.*; public class Main { public int Solution(int a, int b, int[] arr){ int ans = 0, cnt = 0; TreeSet tset = new TreeSet(Collections.r.. 2023. 8. 7.
모든 아나그램 찾기(해쉬, 슬라이딩 윈도우, 투포인터) 요약 map1.equals(map2); 로 해쉬맵들 비교 가능하다.. 아나그램을 찾는 문제, S문자열과 찾을 T문자열을 주면 S문자열에서 부분문자열로 S 문자열을 몇번 만들수 있는지 구하자, 아래의 경우에는 3번 가능 bacaAacba abc 내 풀이, HashMap 1개만으로 풀려고 해서 먼저 정답 문자열을 해쉬맵에 넣고 부분문자열을 정답 문자열 길이만큼 빼면서 size가 같으면서 map.get 을 했을때 갯수가 0이면 일치하다고 생각해서 풀어봤는데 케이스를 부분적으로만 통과해 실패.. import java.util.*; public class Main { public int Solution(char[] arr1, char[] arr2){ int k = arr2.length; int cnt = 0; H.. 2023. 8. 5.
매출액의 종류(해쉬,투포인터) 만약 N=7이고 7일 간의 매출기록이 아래와 같고, 이때 K=4이면 20 12 20 10 23 17 10 각 연속 4일간의 구간의 매출종류는 첫 번째 구간은 [20, 12, 20, 10]는 매출액의 종류가 20, 12, 10으로 3이다. 두 번째 구간은 [12, 20, 10, 23]는 매출액의 종류가 4이다. 세 번째 구간은 [20, 10, 23, 17]는 매출액의 종류가 4이다. 네 번째 구간은 [10, 23, 17, 10]는 매출액의 종류가 3이다. 이때 매출액의 종류의 갯수를 구하는 문제 풀이 방법 - 구간값이 4라고 가정하면 앞 3일의 값의 종류를 map으로 받아서 키 - 매출, 값 - 그 매출이 나온 횟수를 받는다 4일부터는 그날의 값을 map에 getoradd+1로 더하고 map의 size로 .. 2023. 8. 4.
아나그램(해쉬) 보호되어 있는 글 입니다. 2023. 8. 4.
학급 회장(해쉬) 보호되어 있는 글 입니다. 2023. 8. 3.