티스토리 뷰
728x90
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Solution {
static Map<String, ArrayList<Integer>> map = new HashMap<>();
public int[] solution(String[] info, String[] query) {
int[] answer = new int[query.length];
for (int i = 0; i < info.length; i++) {
String[] arr = info[i].split(" ");
dfs(arr.length - 1, "", 0, arr);
}
for (String key : map.keySet()) {
List<Integer> score = map.get(key);
Collections.sort(score);
}
for (int i = 0; i < query.length; i++) {
query[i] = query[i].replaceAll(" and ", "");
String[] arr = query[i].split(" ");
int score = Integer.parseInt(arr[1]);
answer[i] = search(arr[0], score);
}
return answer;
}
static void dfs(int lastIndex, String pos, int depth, String[] info) {
if (depth >= lastIndex) {
String score = info[lastIndex];
if (!map.containsKey(pos)) {
map.put(pos, new ArrayList<>());
}
map.get(pos).add(Integer.parseInt(score));
return;
}
dfs(lastIndex, pos + "-", depth + 1, info);
dfs(lastIndex, pos + info[depth], depth + 1, info);
}
static int search(String str, int score) {
if (!map.containsKey(str)) {
return 0;
}
List<Integer> scoreList = map.get(str);
int start = 0, end = scoreList.size() - 1;
while (start <= end) {
int mid = (start + end) / 2;
if (scoreList.get(mid) < score) {
start = mid + 1;
} else {
end = mid - 1;
}
}
return scoreList.size() - start;
}
}
https://programmers.co.kr/learn/courses/30/lessons/72412
https://loosie.tistory.com/265
728x90
'공부' 카테고리의 다른 글
[Java] HashMap vs HashTable (0) | 2021.12.27 |
---|---|
[Spark] install (0) | 2021.12.27 |
[HBASE] basic (0) | 2021.12.21 |
[Java] Heap (add & peek & poll) (0) | 2021.12.20 |
[Java] Palindrome (0) | 2021.12.20 |
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- follower
- 모델 Y 레퍼럴
- 모델y
- 개리마커스
- 김달
- 인스타그램
- 테슬라 추천
- 팔로워 수 세기
- 책그림
- 테슬라 레퍼럴 적용 확인
- 메디파크 내과 전문의 의학박사 김영수
- Bot
- 테슬라 리퍼럴 코드
- wlw
- 테슬라 리퍼럴 코드 혜택
- 테슬라 크레딧 사용
- 유투브
- Kluge
- 연애학개론
- 어떻게 능력을 보여줄 것인가?
- 클루지
- 테슬라
- COUNT
- 테슬라 레퍼럴
- 레퍼럴
- 테슬라 리퍼럴 코드 생성
- 테슬라 레퍼럴 코드 확인
- 할인
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함