일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 임시반장 정하기
- java
- 아스키코드
- 10992
- 배열
- 자바
- 10991
- Pointer
- 큰 수 출력하기
- ArrayList
- 가장 짧은 문자거리
- GitHub #Commit #BaekJoon
- 누적 계산
- 연속부분수열
- 등수구하기
- 모든행과열대각선의합
- 알고리즘
- 공통원소 구하기
- array
- 두 배열 합치기
- 점수계산
- 보이는 학생
- Two Pointer
- 투 포인터
- 인프런
- 최대 길이
- 백준
- 코테준비
- 격자판
- 뒤집은 소수
- Today
- Total
목록[Java] 인프런 문제풀이/HaspMap, TresSet (해쉬, 정렬지원 Set) (5)
ezhoon

📖 문제 첫 줄에 자연수 N(카드 수) K(몇 번째로 큰 수 찾을지) 입력 두 번째 줄 N개의 카드 값 입력 N개의 카드 중 3장을 뽑을 수 있는 모든 경우의 수의 합을 기록 기록한 값 중 K 번째로 큰 수를 출력하시오 ⚠️ 주의사항 N개의 3장을 뽑을 수 있는 모든 경우의 수 이므로 다중 for문을 사용해야 합니다. 기록한 값 중의 K번째로 큰 수 이므로 저장할 때 TreeSet으로 저장하면 편합니다 ✍️ 이해 /** * 1. N장의 카드 K(몇 번째로 큰 것?) arr[N] 카드에 적힌 수 * 2. TreeSet ts 생성 * 3. 3중 for문으로 3개 뽑을 모든 경우의 수 ts.add * 4. ts에 있는 값들 for each 이용해서 비교하기 * 4-1. cnt 값이 k 되면 answer = i..

📖 문제 첫 줄에 문자열 S 입력 두 번째 줄 문자열 T 입력 S문자열에서 T문자열과 아나그램이 되는 S의 부분 문자열의 개수를 출력하시오 출력이 위와 같다면 S의 부분문자열은 아래와 같습니다. bac acb cba ⚠️ 주의사항 아나그램 판별이니 대소문자를 구분해야합니다. S와 T의 문자열 안의 값들을 하나하나 다시 구분하게 되면 시간 초과 오류가 생깁니다. Sliding Window로 해결해보겠습니다. ✍️ 이해 * 1. S문자열 K문자열 -> S문자열에서 T문자열 찾기(순서 상관x) * 2. 문자열 서로 칸에 맞게 비교 후 Sliding window 기준으로 왼쪽1칸 오른쪽1칸 이동 하는 방법으로 풀기 * 2-1. K의 HashMap 생성(기준이 되는 Map) (hm) + S의 HashMap 생성 ..

📖 문제 첫 줄에 N과 K 입력 두 번째 줄에 N개의 숫자열이 주어진다. N일 동안의 매출 기록을 주고 연속된 K열 동안의 매출액의 종류를 각 구간별로 구하시오. N이 7이고 7일간의 매출 기록이 아래와 같으며, K는 4이면 아래와 같다. ⚠️ 주의사항 Sliding Window 방식과 HashMap을 같이 이용하면 될 것 같습니다. 이동하면서 맨 왼쪽칸만 빼던 것과는 다르게 해야 합니다. 매출액이 7일동안 [20 12 20 10 23 17 10]이고 4일간의 매출액의 종류를 구해보겠습니다. 첫 구간 [20 12 20 10] -> 3개 두 번째 [12 20 10 23] -> 4개 세 번째 [20 10 23 17] -> 3개 위에 보이는 것처럼 맨 왼쪽꺼가 사라지는 것이 아니라 종류를 세는 것이므로 다르게..

📖 문제 첫 줄과 두 번째 줄에 단어 입력 Anagram 구분 (두 문자열의 나열 순서와 상관없이 구성이 일치하면 두 문자열은 아나그램이라고 한다. 예를 들면 AbaAeCe 와 baeeACA 는 나열순서는 다르지만 구성을 살펴보면 똑같기 때문에 아나그램입니다. 아나그램 일 경우 "YES" 아닐 경우 "NO" 출력 ⚠️ 주의사항 문자열의 종류만 구분하는게 아닌 안의 알파벳과 개수가 모두 일치해야 한다. 대소문자는 구분해야 한다. ✍️ 이해 * 1. 첫 줄 단어(A) 둘째 줄 단어(B) * 2. A를 Map 입력 * 2-1. B를 Map에 getOrDefault(x, 0) == 0 이용해서 true -> answer = NO, break; * 2-2. false 경우 map에 현재 존재하는 것이므로 x값의 ..

📖 문제 첫 줄에 반 학생수 입력 두 번째 줄에 N개의 투표용지에 쓰여져 있던 각 후보의 기호 입력 어떤 기호의 후보가 학급 회장이 되었는지 출력하는 프로그램 만들기 ⚠️ 주의사항 HashMap의 getOrDefault 사용해서 put 해야 할 것 ✍️ 이해 /** * 1. 학생수(N), 알파벳(N개) 입력 * 2. for each로 map.put 하기 * 2.1 map.getOrDefault("odject", "default value") x값이 존재하면 존재하는 값의 + 1 없으면 x값 map에 추가 후 + 1 * 3. max값 지정 * 4. for each 로 map keySet() -> map 있는 모든 object 대입 * 4-1. if 현재 입력 된 map.get(object) > max 비교..