본문 바로가기

전체 글78

[개쉬운 풀이] 백준 20922 겹치는 건 싫어 (2일차) https://www.acmicpc.net/problem/20922 문제 생각1. 현재 위치부터 최장 연속 부분 수열을 찾는다.2. 조건에 부합하지 않는 부분이 나온다면 앞 부분을 삭제하고 다시 최장 부분 연속 부분 수열을 찾는다.-> 슬라이싱 윈도우 풀이#include #include #include #include using namespace std;int N, K;vector v;vector isVisited(100001);void input(){ cin >> N >> K; v = vector (N); for(int i = 0; i > v[i]; }}void sol(){ int start = 0, end = 0; int answer = 0; //슬라이딩 .. 2024. 11. 23.
[개쉬운 풀이] 백준 9205 맥주 마시면서 걸어가기 (1일차) 메일 알고리즘 문제 풀기 1일차 https://www.acmicpc.net/problem/9205  문제 생각1. 맥주는 20박스이고 한 병당 50미터를 움직일 수 있으므로, 다음 목적지까지 1000거리 이내로 가야한다.2. 따라서 현재 위치를 기준으로 다음 편의점을 BFS로 탐색하면서 해당 편의점에 도착했을 때, 바로 페스티벌 장소로 도착할 수 있는지 없는지 판별하면 된다. 풀이#include #include #include #include using namespace std;const int MAX_BEER = 20;struct T{ int x, y;};int t;int n;vector v;T current;T festival;int beer = 20;bool isVisited[101];bool an.. 2024. 11. 22.
[개쉬운 풀이] 백준 2493 탑 #include #include #include using namespace std;const int MAX = 500001;int n;int tower[MAX];vector stack;void init(){ memset(tower, 0, sizeof(tower));}void input(){ cin >> n; for(int i = 0; i > tower[i]; }}void print(){ if(stack.empty()) cout tmp) { print(); break; } else{ stack.pop_back(); .. 2024. 11. 10.
[개쉬운 풀이] 백준 14503 로봇 청소기 https://www.acmicpc.net/problem/14503문제  생각1. 단순한 구현문제이다.2. 그러나 작동 종료 조건에서 바라보는 방향은 고정한 상태로 후진한다는 것을 이해해야 한다. 풀이#include #include using namespace std;const int MAX = 51;int N, M;int R, C, D; // 방향: 0(북), 1(동), 2(남), 3(서)int map[MAX][MAX]; // 벽: 1, 빈 공간: 0, 청소 완료: -1int dx[4] = {-1, 0, 1, 0}; // 행 이동int dy[4] = {0, 1, 0, -1}; // 열 이동int answer = 0;void input() { cin >> N >> M; cin >> R >> C.. 2024. 11. 8.