프로그래밍/백준 복기36 [Sliding Window] 백준 2531: 회전 초밥 https://www.acmicpc.net/problem/2531 정직하게, k개의 연속된 초밥을 고르고, 이들을 vector에 넣어 이미 고른 초밥인지 확인하고, 쿠폰 초밥에 대해서도 같은 논리를 적용해서 문제를 풀면 시간 초과가 난다. #include #include #include #include using namespace std;int N, d, k, c;int answer=INT_MIN;int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>N>>d>>k>>c; vector sushies; int input; for(int i=0;i>input; sush.. 2024. 12. 8. [재귀] 백준 1780: 종이의 개수 https://www.acmicpc.net/problem/1780 별다른 트릭이나 색다른 접근법 없이 정직하게 재귀함수만 작성하면 되는 문제이다. base case 만 잘 지정해 주면 된다. 종이 크기가 한 장이면, 더 이상 나눌 필요가 없으므로 해당하는 숫자를 더해주고 재귀를 종료한다. if(size==1) { switch(paper[startRow][startCol]) { case -1: minusOneNum++; break; case 0: zeroNum++; break; case 1: one.. 2024. 11. 29. [순열,조합] 백준 2529: 부등호 2529번: 부등호 1. 0-9 까지 숫자 중 k+1 개를 골라 만들 수 있는 모든 '조합'을 구한다. 2. 1에서 구한 조합으로 구현 가능한 모든 '순열'을 구한다. 3. 부등호와 맞는지 비교한다. 먼저, 조합을 구하는 코드는 다음과 같이 구현했다. 모든 조합을 구해서, 그 조합들을 다시 vector> 의 vector 요소로 저장하였다.void makeCombination(vector> &combinations, vector &numbers, vector ¤tComb, int start, int len){ if(currentComb.size()==len) { vector result; for(int i=0;i 그 다음, 다시 이 모든 조합들을 활용해 순열을.. 2024. 11. 20. [BFS] 백준 1012: 유기농 배추 https://www.acmicpc.net/problem/1012 배추흰지렁이는 그냥 문제를 더 풍부하고 재미있게 해 줄 요소일 뿐이고, 결국 '배추 클러스터 개수'를 묻는 문제이다. void bfs(vector> &farm, vector> &isVisited, int x, int y, int &answer){ queue> queue; if(farm[x][y]==1&&!isVisited[x][y]) { isVisited[x][y] = true; queue.push(pair(x,y)); answer++; } while(!queue.empty()) { pair currentCoord = queue.front(); .. 2024. 11. 18. 이전 1 2 3 4 ··· 9 다음