솔루션을 보고 풀었다. https://jaimemin.tistory.com/759 백준 1700번 멀티탭 스케줄링 문제 링크입니다: https://www.acmicpc.net/problem/1700 고려해야했던 것이 많았던 그리디(Greedy) 알고리즘 문제였습니다. 알고리즘은 아래와 같습니다.1. 기기들의 사용 순서들을 입력 받습니다.2. K번 반 jaimemin.tistory.com 푸는데 for_each, distance, find 를 활용하고싶었다. #include #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); array schedule; a..
softeer.ai/practice/info.do?eventIdx=1&psProblemId=389 Softeer 제한시간 : C/C++(1초), Java/Python(2초) | 메모리 제한 : 256MB N명의 학생들의 성적이 학번순서대로 주어졌다. 학번 구간 [A, B]가 주어졌을 때 이 학생들 성적의 평균을 구하는 프로그램을 작성하라. 입 softeer.ai 나 때문에 문제의 정답률이 많이 내려갔을 것이다... 주어진 간격에 대한 평균을 구하는 알고리즘은 문제가 없었는데... 배열의 크기를 10^6 + 1 로 잡았어야 했는데 10^5 + 1으로 잡아 계속해서 틀렸던 문제... 이거 때문에 문의 드려볼까도 생각했었는데 정말 창피해질뻔 했다. 설마 내가 이걸 틀렸겠어?란 생각에 디버깅 과정에 제대로 보지..
softeer.ai/practice/info.do?eventIdx=1&psProblemId=409 Softeer 제한시간 : C/C++(1초), Java/Python(2초) | 메모리 제한 : 128MB 입력형식 입력 값의 첫 번째 줄에는 지도의 크기 N(정사각형임으로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각 softeer.ai 블록의 영역 크기를 구하기 위하여 DFS 기법을 이용 블록의 영역 크기를 오름차순으로 출력하기 위해 우선순위큐(최솟값 우선)를 사용 #include #include #include using namespace std; int arr[25][25]; bool visited[25][25]; int N; int total_block_num=0; in..
나중에 set 자료구조, prev 함수 쓸 일 있을 거 같아서 기록해둠 #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int t; cin >> t; for(int i=0; i> k; multiset d_p_q;//double priority queue for(int j=0; j> op1 >> op2; if(op1 == 'D' and d_p_q.size() > 0) { if(op2 == 1)//최댓값 삭제 { d_p_q.erase(prev(d_p_q.end()));//end 이전의 주소(prev)를 erase해야 마지막 원소가 지워짐 } ..
www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net Priority Queue 와 Min Heap 에 대한 이해가 필요했던 문제입니다. 풀이는 다음과 같습니다. 1. 데이터를 입력 받으며, N번째 데이터까지 Priority Queue(Min Heap)에 데이터를 삽입합니다. 데이터가 N개 까지 주어졌을때, Priority Queue의 Top 원소는 가장 작은 수 이면서 N번째로 큰 수로 생각할 수 있습니다. 2. N+1번째 데이터부터 Priority Queue의 Top..
www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 자료구조 강의 시간에 얼핏 들었던 최소 스패닝 트리(MST, Minimum Spanning Tree)알고리즘을 공부할겸 해당 문제를 풀어보았습니다. MST 알고리즘은 [알고리즘] 최소 신장 트리(MST, Minimum Spanning Tree)란 게시글과 [알고리즘] Kruskal 알고리즘 이란 게시글을 읽고 개념을 숙지하였습니다. 추가적으로 나동빈님의 강좌를 시청..
www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 주어진 식에서 '-' 연산자로 묶일 수 있는 부분을 모두 괄호안에 두면 식의 결과값이 최소가 됩니다. 예시) 5+7-4+3+6-2+2 => 5+7-(4+3+6)-(2+2) 사실, 첫 '-' 연산자 뒤에 식은 거들떠 볼 필요도 없이 모두 음수로 두면됩니다. 코드 #include #include using namespace std; int main() { //freopen("1541.txt", "r", std..
www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 항상 조금만 더 자려는 마음을 이겨냅시다! 코드 #include #include #include using namespace std; int H; int M; int main() { //freopen("2884.txt", "r", stdin); cin >> H >> M; M -= 45; if(M < 0) { M += 60; H -= 1; if(H < 0) H = 23; } cout
www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 그래프, DFS(Depth-First Search)에 관한 지식을 요구하는 문제입니다. 풀이는 다음과 같습니다. 1. 2차원 벡터를 사용하여 그래프의 연결관계를 표현합니다. 2. 먼저, 1번 노드에서 DFS 방법으로 인접 노드를 모두 탐색합니다. 탐색하며 각 노드에 대한 방문여부를 기록합니다. 1번 노드와 같은 연결 요소에 속하는 노드들은 모두 방문..
- Total
- Today
- Yesterday
- 가장 긴 증가하는 부분 수열
- 백트래킹
- C++ Deploy
- 순열
- 위상 정렬 알고리즘
- MOT
- 자료구조
- 이분탐색
- 조합
- 파이참
- LCA
- ㅂ
- 백준 11053
- FairMOT
- 인공지능을 위한 선형대수
- 문제집
- PyCharm
- 백준 1766
- 백준
- 단축키
- Lowest Common Ancestor
- 백준 11437
- cosine
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |