
2841 - 외계인의 기타 연주 (Java)
·
백준
문제https://www.acmicpc.net/problem/2841 풀이맵과 우선순위큐를 활용해서 풀었다. (근데 우선순위큐 말고 스택 쓰는게 2억배는 맞는 접근이다.) Map 의 Key 는 기타줄로 하고, Value 를 플랫을 넣고 관리하는 우선순위 큐로 만든다. 플랫 같은 경우에는 같은 줄일때, 더 높은 플랫이 나오면 손가락을 추가(?)만 해주면 된다. (우선순위 큐에 플랫을 추가해주면 된다.) 단 낮은 플랫일 경우에는 입력으로 들어온 플랫보다 큰 값이 같은 줄에 있으면 안된다.따라서 우선순위 큐의 가장 큰 값을 보고 비교해본다음, 우선순위 큐의 가장 큰 값이 입력값보다 같거나 작을 때 까지 값을 빼준다. 그 다음이 중요한데, 같은 값인 경우에는 손가락을 추가해줄 필요가 없다. 이미 플랫을 짚고 ..