본문 바로가기

백준 문제풀이93

[백준][구현] 17144 미세먼지 안녕! c++구현 목차https://www.acmicpc.net/problem/17144문제 문제 구현 방향너무 복잡하게 푼 것 같다...공기 청정기 구현 방향을 좀만 더 생각했으면 미리 움직일 좌표들을 저장해 놓고 순차적으로 당기는 방식으로 효율적으로 구현했으면 좋았을 것 같다..  코드 구현#include#include#include#include#include#include#includeusing namespace std;int R, C, T;int board[100][100] = { 0 };int Sboard[100][100] = { 0 };int dx[4] = { 0,0,1,-1 };int dy[4] = { 1, -1, 0, 0 };int start1 = -1, start2=-1;//배열 원복 복제void dup.. 2024. 8. 6.
[백준][그리디] 1700 멀티탭 스케줄링 c++구현 목차https://www.acmicpc.net/problem/1700문제 문제 구현 방향최적해를 나는 다음과 같이 짰다. 앞으로 사용할 플러그인지 확인한다.앞으로 사용할 플러그가 아니라면 교체한다.모든 플러그가 앞으로 사용할 플러그라면 그 이후로 가장 늦게오는 플러그를 교체한다. 알고리즘 설명Optimal Page Replacement라는 알고리즘으로 물리적 메모리에 있는 페이지 중 가장 미래에 참조되는 페이지를 쫓아내는 방법 그 외에도 FIFO(먼저 온 것부터 swap), LRU(가장 오래전에 참조, 많이 사용되지 않은 것부터 SWAP), LFU(참조 횟수가 가장 적었던 페이지를 교체), CLOCK(오랫동안 참조되지 않는 페이지 중 하나르르 SWAP)이 있다. 코드 구현#include#include#i.. 2024. 8. 5.
[백준][그리디] 1781 컵라면 c++구현 목차 https://www.acmicpc.net/problem/1781문제 문제 구현 방향우선순위 큐를 이용해 데드라인 별로 정렬한 뒤 순차적으로 넣고 빼는 이해하면 쉬운 문제였다.생각해내는 것이 많이 어려웠다.  문제 풀이위의 예제로 설명하면 다음과 같다. 데드라인: 11의 컵라면 모두를 큐에 넣는다.6 7 -> 최대 개수는 1 따라서 6을 빼낸다. 데드라인: 22의 컵라면 모두를 큐에 넣는다.7 4 5 -> 최대 개수는 2 따라서 4를 빼낸다. 데드라인: 33의 컵라면 모두를 큐에 넣는다.7 5 2 1 -> 최대 개수는 3 따라서 1을 빼낸다.  데드라인: 66의 컵라면 모두를 큐에 넣는다.7 5 2 1 - > 최대 개수는 6 따라서 빼지 않아도 된다. 답 -> 7 5 2 1 코드 구현#include.. 2024. 8. 4.
[백준][에라토스테네스의 체] 1644 소수의 연속 합 c++구현 목차https://www.acmicpc.net/problem/1644문제 문제 구현 방향나는 에라토스테네스의 체를 이용하진 않고 최적화된 소수 판별 함수를 통해 해결하였다.또한 투포인터를 이용하면 더 효율적으로 구현할 수 있었을 것 같다.시간복잡도가 O(n)이라 어찌저찌 풀리긴 했다.  에라토스테네스의 체외우면 도움될 것 같다. 대신 수 1000만을 넘어가면 메모리 때문에 사용이 힘들다.#include using namespace std;const int max_n = 40;bool che[max_n + 1];// max_n까지의 소수를 생성하는 함수vector era(int mx_n) { vector v; for (int i = 2; i a = era(max_n); for (int i.. 2024. 7. 30.
728x90