C++ 비교함수 오버라이딩
1. 비교함수 오버라이딩 C++에서 algorithm 헤더의 sort 함수를 쓰거나, Priority Queue를 사용할 때 std::sort는 오름차순으로, 우선순위큐는 최대힙으로만 정렬되기 때문에 사용자가 원하는 순서대로 정렬할 수 없다 또한 하나의 원소는 std::less<>, std::greater<>, 두개의 ...
1. 비교함수 오버라이딩 C++에서 algorithm 헤더의 sort 함수를 쓰거나, Priority Queue를 사용할 때 std::sort는 오름차순으로, 우선순위큐는 최대힙으로만 정렬되기 때문에 사용자가 원하는 순서대로 정렬할 수 없다 또한 하나의 원소는 std::less<>, std::greater<>, 두개의 ...
알고리즘 문제를 풀다보면, C++에서 우선순위 큐를 사용해야할 경우가 종종 생긴다 이를 기록하기 위해 정리한 글 우선순위 큐 C++에서 vector와 같은 container adaptor의 한 종류 큐의 한 종류로 #include <queue>에 포함되어있음 모든 원소 중에서 가장 큰 값이 Top을 유지하도록 설계된 컨테이너...
지름길 다익스트라, DP 문제 다익스트라로 풀이해봄 1. 간단 설명 사다리 게임이 생각나는 지름길 문제 0에서 D까지 최단경로 구하는 문제다 2. 예시 5 150 : 지름길 5개, 목적지 거리 150 0 50 10 : 0에서 출발해서 50에 도착하는 지름길. 길이는 10 0 50 20 50 100 10 100 151 10 11...
해킹 다익스트라 문제 기본 문제 여러 테스트케이스를 다루면서 언제 어떻게 초기화 해야하는지를 알 수 있는 문제 1. 간단 설명 최단경로를 풀어봤다면 조금 응용하면 된다 2. 예시 2 3 2 2 2 1 5 3 2 5 3 3 1 2 1 2 3 1 8 3 2 4 TC 2개가 주어진다 TC1) 3 2 2 (컴퓨터 3대, 의존성 개...
특정한 최단 경로 다익스트라 문제 최단경로의 업그레이드 버전 1. 간단 설명 꼭 방문해야하는 두 정점이 추가된 문제 주어진 두 정점을 거치면서 최단 경로로 이동하는 프로그램을 작성하기 2. 예시 4 6 1 2 3 2 3 3 3 4 1 1 3 5 2 4 5 1 4 4 2 3 다음과 같이 간선 정보가 주어졌을 때, 1에서 4로 ...
안녕 DFS 대표 문제 퇴사와 유사한 문제 1. 간단 설명 N명의 사람이 방문안을 왔다 인사를 하면 체력을 잃는다 체력을 잃는 대신 기쁨을 얻는다 체력이 허락하는 한 인사를 하고 얻을 수 있는 최대 기쁨을 출력하는 문제 2. 예시 3명의 방문객 잃는 체력 : 1 21 79 얻는 기쁨 : 20 30 25 시작 체력은 100이므로 ...
알고리즘 중급 문제 중 611 - BFS (연습) 적록색약 1. 간단 설명 맵 정보가 주어지는데, 적록색맹인 사람은 R-G를 구분을 못한다 이러한 예시가 주어졌을 때, 일반인과 적록색약 입장에서 구역이 몇개 있는지 구하는 문제 2. 예시 RRRBB GGBBB BBBRR BBRRR RRRRR 일반인 입장에서는 4개가 있지만 적록색...
알고리즘 중급 문제 중 710 - 그리디 알고리즘 회의실 배정 1. 간단 설명 회의실 예약의 회전율을 높여야한다 회의 시작시간과 종료시간이 주어졌을 때, 최대 사용할 수 있는 회의의 개수를 출력하는 문제 2. 예시 11 1 4 3 5 0 6 5 7 3 8 5 9 6 10 8 11 8 12 2 13 12 14 (1,4), (5,7),...
알고리즘 중급 문제 중 611 - BFS(연습) 탈출 1. 간단 설명 고슴도치가 물을 피해 비버집으로 탈출해야한다 고슴도치가 안전하게 비버의 굴로 이동하기 위해 필요한 최소 시간을 구하는 프로그램을 작성하는 문제 2. 예시 예제1) 3 3 D.* ... .S. 1초 경과 D** ..* S.. 2초 경과 D** S** ..* ...
포스팅글올 깃페이지에 올리는데 자꾸 글이 안뜨는 문제가 발생했다 뭐가 문제인가 싶어서 깃 CI/CD를 뒤져보니 빌드가 실패하는 상황 Github Actions 환경에서 CI/CD 파이프라인 관련 문제인것 같아서 찾아봤다 원인 자체 호스팅 러너인 current runner(ubuntu-24.04-x64)를 사용 중에 Ruby의 버전이 호환...