Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 스프링 부트
- IntelliJ
- 개발자
- 인텔리제이
- 스프링
- 해결
- 도커
- bfs
- 자료구조
- 문자열
- spring
- 프로그래머스
- 구현
- Linux
- docker
- 배열
- Java
- 스타트업
- dfs
- spring boot
- 해시맵
- 코딩테스트
- 스프링부트
- 이직
- 백엔드
- 명령어
- 구름LEVEL
- HTTP
- HashMap
- 주니어
Archives
- Today
- Total
목록그리디 알고리즘 (1)
마이의 개발 블로그
[자료구조] 우선순위 큐 (priority queue) - 백준 1715번
배경 백준 1715번: 카드 정렬하기(그리디 알고리즘) 문제를 ArrayList로 풀다가 시간 초과가 뜨길래 문제를 해결하던 중 우선순위 큐를 적용해야만 한다는 걸 알게되었다. 처음에는 List 클래스의 sort() 메서드 사용 시 오름차순 정렬을 했기 때문에 연산이 완료된 값을 삭제할 때 배열이 전체 이동되어 시간이 많이 소요되는 거라고 생각했다. 그래서 내림차순 정렬로 바꾸고, ArrayList의 끝부분에서 삽입 삭제 시에 배열의 전체 복사나 이동이 없게끔 코드를 변경했는데, 여전히 시간초과가 뜨길래 결국 다른 사람들의 풀이를 검색할 수 밖에 없었다. //ArrayList를 사용한 예시 - 시간초과 while(list.size() > 1) { list.sort(Comparator.reverseOrde..
개발지식/자료구조
2022. 2. 5. 21:58