[백준] 콘센트 - Java 23843
·
PS/백준
https://www.acmicpc.net/problem/23843  콘센트의 차징 시간을 내림차순으로 정렬하는 것이 키 포인트인 문제이다. 내림차순으로 정렬한 뒤 시간을 1씩 늘려가며 `sumpq.peek()`의 값이 `time`보다 작거나 같으면`sumpq`에서 해당 값을 빼주고 내림차순으로 정렬된 `pq`에서 값을 뽑아time을 더해 새롭게 `sumpq`에 더한다.    import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.PriorityQueue;import java.util.StringTokenizer;public class BOJ23843 { publi..
[백준] 닭싸움 팀 정하기 - Java 1765
·
PS/백준
https://www.acmicpc.net/problem/1765  유니온 파인드를 사용하지 않고 친구의 친구도 반복문을 돌았을 때는 시간초과가 발생했다. 그래서, 원수의 원수의 경우에만 친구로 설정하고 친구의 경우는 유니온 파인드를 적용하여친구를 구별하기로 했고 그렇게 했을 때는 시간 초과가 발생하지 않았다. 전역 클래스에 `equals`와 `hashCode` 메소드를 직접 작성했는데 다른 분들의 코드를 보면굳이 이렇게 까지 작성하지 않아도 되는 거 같긴하다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class BOJ1765 { sta..
[백준] 트럭 - Java 13335
·
PS/백준
https://www.acmicpc.net/problem/13335  큐의 크기를 다리에 들어갈 수 있는 차의 개수로 설정하여,지속적으로 개수와 크기를 비교하며 큐에 트럭을 더한다. 만약, 트럭이 다리를 건널 수 없으면 큐와 `path`에 0을 추가하여 횟수를 카운팅한다.그리고 마지막에는 큐에 남아있는 값을 확인하여 남이있는 값이 있다면 다리의 길이만큼 더해준다. 하지만, 다리가 1인 경우 결국 전체 횟수는 N + 1만큼 걸리므로 바로 반환해준다.(엣지케이스) import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { public..
2024-10-24 학습일기
·
개발 기록
알고리즘콘센트두 수의 합닭싸움 팀 정하기수영장 만들기트럭
2024-10-23 학습일기
·
개발 기록
알고리즘더 맵게이중우선순위큐K번째 수가장 큰 수H-Index주식가격
2024-10-22 학습일기
·
개발 기록
알고리즘마피아소트외벽 점검