분류 전체보기(174)
-
백준 11000 강의실 배정
강의실 배정 문제다. 그리디를 통해 구현해내면 되는데, 방법은 금방 떠올릴 수 있는데 priority queue 를 사용하는 구현에 있어서 애를 좀 먹었다. priority_queue pq; 이렇게 적는게 priority queue 를 작은 순으로 만드는 방법이다. pq.push(arr[0].second); for (int i = 1; i < n; i++) { pq.push(arr[i].second); if (pq.top()
2023.06.18 -
백준 1992 쿼드 트리
오늘 문제는 쿼드 트리이다! 사실 구현하는거 자체는 그다지 나쁘지 않았다. 4구역을 크기별로 다 확인하면서 만약 다 같은 값으로 이루어져 있다면 출력, 그렇지 않다면 재귀로 한번 더 들어간다. 이 문제는 예외들을 생각하지 못해 오래 걸렸다. 우선, 처음부터 다 같은 값으로 들어왔다면 "(", ")" 를 써줄 필요가 없다. 그 경우를 위해 처음 입력받을 때 다른 숫자들로 이루어진 입력인가 파악하여아 한다. 끝!! #include #include #include #include using namespace std; string str; char table[65][65]; void recur(int x, int y, int leng) { if (leng == 0) return; str += "("; for (..
2023.05.26 -
DFS, BFS
이번 주에는 dfs , bfs 문제들을 풀어보려고 한다. BFS 는 큐, DFS 는 스택 으로 구현하면 된다, 이 정보들을 가지고 사실 dfs 로 구현은 거의 하지 않았다. 지금까지 풀었던 문제들은 대부분 구현 방식이 다음과 같다. 1. 큐에 시작 지점을 넣고 방문 표시를 남긴다. 2. 큐에서 원소를 꺼내, 상하좌우 인접 칸을 살핀다. 3. 이전 방문 이력이 없다면 삽입하고, 방문 표시 남긴 후 큐에 삽입한다. 4. 큐가 빌 때 까지 반복한다. 이번에 푼 문제는 2차원 배열 상에서의 dfs 가 아니였다. +1, -1, x2 를 이동할 수 있는 일차원 배열 상의 문제였다. 이 경우 if 문을 3번 사용해서 각각을 확인 해 줄 수 있는데, 이 경우 continue 를 해버려서 이 후 경우를 아예 체크하지 않..
2023.05.17 -
DP 문제 풀이 유형
1. 가장 ~~ 한 부분 수열 구하기 유형 2중 for문을 돌면서 조건에 따라 dp 값을 갱신한다. for (int i = 1; i
2023.05.15 -
백준 2075 N번째 큰 수
우선 이 문제는 시간 초과, 메모리 초과 등에 대해서 신경 쓸게 아주 많은 녀석이다. 우선, 기본 배열이나 벡터에 수들을 무작정 넣고 정렬한 후 자 n 번째 출력! 하면 메모리 초과가 나온다. 그래서 머리를 좀 더 굴려서 우선순위 큐에 넣으면서 자동 정렬을 시켜도? 시간초과가 나올 것이다. 이제 우선순위큐의 크기를 n 으로 유지하며 더 들어오면 Pop 을 해보자. 이렇게 하면 돌아가야 하는데 나는 안돌아갔다. ios_base::sync_with_stdio(false); cin.tie(nullptr); 이 녀석들을 적고 해주니 되었다. 이런 것들에서 시간초과를 겪지 말자!! #include #include using namespace std; int main() { ios_base::sync_with_st..
2023.04.15 -
git rebase 반영안될 때 해결방법..!
현재 내 로컬 브랜치 상태 develop 브랜치를 clone해온 상태에서 새로운 branch feat 54 를 만든 상태이다. 멘토님께서 develop pull 을 다시 하라고 하셨는데, 지금 상태에서 git pull 을 하면.. 내가 원하는건 remote의 origin/develop 을 끌어오고 싶은건데, 되지를 않는다. 내 local 의 develop 이 변경 되는것..! 내 branch #54 를 git stash push 를 통해 스택에 임시저장해주자. 그 다음, 내 브랜치를 내 로컬의 develop으로 옮기자 git checkout develop 이제 여기서 pull git pull 다시 내 로컬 브랜치 #54로 이동한다. git checkout feature/cool-\\#54 이제 rebas..
2023.04.10