본문 바로가기

PLATINUM3

[KAUPC/C++] 차이를 최대로 (Deque/Sliding Window) 문제https://www.codetree.ai/problems/make-dif-max/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 구상해당 문제는 특정 window 크기 안의 값들의 최소값, 최댓값을 구해야 하는 문제였다. queue를 이용하여 풀 수도 있지만, deque를 이용한 풀이가 더 효율적이었다. 먼저, 원형으로 이루어져있는 값들을 1차원 배열으로 나타내어서 0번부터 k-1번 원소가 마지막에 한번 더 필요했다. 그래서 배열 마지막에 추가로 넣어주었다. 예를 들어 위 사진과 같은 상태에서 k가 4라고 한다면, 배열을 [7,.. 2024. 9. 10.
[회고록] 백준 PLATINUM 달성 https://solved.ac/en/profile/moonlight0815 백준 플레티넘 달성한 겸 간단한 회고2022년 겨울방학 때 경영학과에서 소프트웨어학과로 전과하며 막막한 심정으로 알고리즘 공부를 시작했다. KOALA라는 항공대 알고리즘 학회에서 스터디를 하며 공부를 시작했는데, 막막하게 시작한 것 치고 적당히 재미있게 스터디에 임했었다..ㅋㅋㅋ (지금은 해당 학회의 운영진이라는게 참 신기하다 ㅎㅎ) 그리고 참 감사하게도 고등학생 때 1년간 파이썬이랑 자바를 공부했어서 나름 힘들이지 않고 알고리즘 뿐만이 아니라 소프트웨어쪽 공부에 적응할 수 있었다. 2학년 올라와서는 자료구조랑 AI랑 알고리즘이랑 UMC(연합동아리) 하면서 학과 지식도 쌓고 프로젝트 경험도 했다. UMC 덕분에 선배들과 스터디도.. 2024. 8. 28.
[백준/C++] #1168 요세푸스 문제 2 (Segment Tree) 문제https://www.acmicpc.net/problem/1158: 큐를 이용여 풀리는 가장 기본적인 요세푸스 문제 https://www.acmicpc.net/problem/1168: 세그먼트 트리를 이용하여 시간복잡도를 줄여야 하는 요세푸스 문제개념: Segment Tree 코드 + 풀이1. 큐를 이용한 풀이 (1158번): 특정 "번째"의 사람이 올 때까지 큐의 원소를 push, pop 반복한다. #include#includeusing namespace std;int n, k;queueq;int main(void){ int i; cin >> n >> k; for (i = 1; i "; return 0;} 2. 세그먼트 트리 이용한 풀이 (1168번): 요세푸스 문제의 핵심은 몇 번째에 있는 사람을.. 2024. 7. 1.