https://www.acmicpc.net/problem/12764 12764번: 싸지방에 간 준하 첫째 줄에 사람의 수를 나타내는 \(N\)이 주어진다. \((1 \le N \le 100,000)\) 둘째 줄부터 \(N\)개의 줄에 걸쳐서 각 사람의 컴퓨터 이용 시작 시각 \(P\)와 종료 시각 \(Q\)가 주어진다. \((0 \le P \lt Q \le 1,000 www.acmicpc.net 우선순위 큐와 구현 문제다. 우선순위 큐에 입력 받은 값을 넣어 오름차순으로 정렬되게끔 했다. 2차원 배열을 이용해서 컴퓨터 사용이 끝나는 시간과 몇 명이 이용했는지 저장했다. 반복문으로 컴퓨터를 사용하지 않았거나, 사용 기록이 있으나 이미 퇴실한 자리를 찾아 저장했다. #include #include using..
Algorithm/Data Struct
https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 스택 자료구조 문제다. 시간초과가 날 걸 알면서도 단순하게 하나하나 검사하는 방법으로 해봤다. 혹시나 했는데 어림도 없지 시간초과다. 뒤에서부터 탐색하여 최댓값들을 저장하는 방법에 대해 생각했다. 그러면 최댓값이 가장 오른쪽에 존재한다는 보장이 없다. 지금까지 저장한 오큰수들을 탐색해보려고 했는데 이거는 단순 이중 반복문이나 다름이 없었다. 그러다 든 생각은 뒤에서부터 탐색하며 수들을 스택에 넣는 것이다. ..