목록우선순위큐 (7)
어흥
문제 링크: https://www.acmicpc.net/problem/22232 22232번: 가희와 파일 탐색기 첫 번째 줄에 jo_test 폴더에 있는 파일 개수 N과 가희가 설치한 OS에서 인식하는 파일 확장자의 개수 M이 공백으로 구분되어 주어집니다. 2번째 줄부터 N+1번째 줄까지 FILENAME.EXTENSION 형식의 문자열 www.acmicpc.net 1. 주의할 점 - 정렬 순서를 정리한다 - OS에서 인식하는 확장자인지 구분할 수 있는 방법을 생각한다 2. 구현 - List에 파일명들을 저장한다 - HashSet에 OS에서 인식하는 확장자명을 삽입한다 - List에 저장된 파일명들을 불러와서 파일명, 확장자명, OS에서 인식여부를 구하고 우선순위큐에 삽입한다 - 우선순위큐의 정렬 기준은..
문제 링크: www.hackerrank.com/challenges/dijkstrashortreach/problem?utm_campaign=challenge-recommendation&utm_medium=email&utm_source=7-day-campaign Dijkstra: Shortest Reach 2 | HackerRank Learn to use Dijkstra's shortest path algorithm ! www.hackerrank.com 1. 주의할 점 - 우선순위큐를 이용한 다익스트라 알고리즘을 사용한다 - 매 TC마다 초기화를 진행한다 2. 구현 - 매 TC 마다 간선의 정보를 담고 있는 V[] 벡터와 각 지점까지의 거리를 저장하는 Dist[] 배열을 초기화한다 - Edges 벡터를 통해..
문제 링크: swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV6c6bgaIuoDFAXy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 조건이 많다 - 초기화를 잘 해준다 - 순서대로 처리한다(새로운 손님 도착? -> 접수 창구 비었는가? -> 대기 창구로 이동 가능? -> 수리 창구 비었는가? -> 끝났는가?) 2. 구현 - 사람들에 대한 정보는 바로 Queue에 넣는다 - 창구 직원들에 대한 정보는 Info2 구조체(pidx: 손님번호, needTime: 처리하는데 소요되는 시간, remain: 처리되기까지 남..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V4A46AdIDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 두 일꾼이 같은 선택된 벌꿀통을 고르면 안된다 - 각 칸을 기준으로 최대 M칸까지 오른쪽으로 골랐을때의 최대 가중치를 저장한다 2. 구현 - Check[][] 배열을 false로 초기화시켜서 같은 벌꿀통을 고르지 않도록 확인하기 위해 false로 전부 초기화한다 - DFS() 사용하여 해당 칸을 골랐을 때 기준으로 최대값을 (가중치의 내림차순 순서로 정의)우선순위큐에..
문제 링크: https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 문제 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주인공, 링크는 지금 도둑루피만 가득한 N x N 크기의 동굴의 제일 왼쪽 위에 있다. [0][0]번 칸이기도 하다. 왜 이런 곳에 들어왔냐고 묻는다면 밖에서 사람들이 자꾸 "젤다의 전설에 나오는 녹색 애가 젤다지?"라고 물어봤기 때문이다. 링크가 녹색 옷을 입 www.acmicpc.net 1. 주의할 점 - 이미 방문했거나, 해당 지점에 도착할때까지 소비한 루피가 많은 경우 방문하지 않는다 ..
문제 링크: https://www.acmicpc.net/problem/6118 6118번: 숨바꼭질 문제 재서기는 수혀니와 교외 농장에서 숨바꼭질을 하고 있다. 농장에는 헛간이 많이 널려있고 재서기는 그 중에 하나에 숨어야 한다. 헛간의 개수는 N(2 > target; tmp.idx = start; tmp.val = 1; v[target].push_back(tmp); tmp.idx = target; v[start].push_back(tmp); } for (int i = 1; i dist[cidx]+nv) { dist[next] = dist[cidx] + nv; tmp.idx = next; tmp.val = cv + nv; pq.push(tmp); } } } int maxi = dist[2], idx = ..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWqU0zh6rssDFARG SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - Comparable을 무조건 사용해야 한다(사용하지 않으면 N*N만큼 뒤져봐야한다) - Set이나 Map을 통해서 logN으로 줄이도록 해야한다. 2. 구현 - 첫 번째 방법: HashMap + Priority_Queue 사용 HashMap 에 입력받은 문자열, 문자열의 크기를 저장했다. 또한, 중복을 방지하기 위해 사용했다. Priority_Queue는 Compar..