본문 바로가기

kaupc9

[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.
[KAUPC/C++] 조상 노드 (DFS) 문제https://www.codetree.ai/problems/node-ancestor/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 구상조상 노드의 유무를 파악하는 문제였다. 오랫만에 찐 dfs다운 문제를 만나서 잠깐이지만 좀 설렜다 ㅎㅎ 조상 노드의 유무를 파악하는 방법이 dfs를 이용하는 것이라는 것만 파악했다면 어렵지 않은 문제인데, 해당 과정이 흔하지 않아 처음 봤을땐 어렵게 느껴졌던 것 같다. dfs 과정을 루트(1번 노드)부터 시작하여 재귀적으로 진행하다보면 이것으로 노드간의 부모 자식 유무를 파악할 수 있을 것 같은 .. 2024. 9. 10.
[회고록] KAUPC 6등 KAUPC는 한국항공대 알고리즘 학회인 KOALA가 주관하여 개최하는, 올해로 4회를 맞은 알고리즘 대회이다. 계속 백준에서 진행되어왔다가 올해는 code tree 플랫폼을 이용하여 진행이 되었다! 사실 현재 koala 부회장이어서 올해 문제를 출제해야했었는데, 작년에 대회에 참가하지 못해 아쉬워서 올해 출전을 결심하게 되었다. 올해에는 개인전으로 진행이 되었고, 5시간 동안 알고리즘 잘하시는 분들이 출제하신 아래의 10문제를 풀면 되는 대회였다. 검색과 메모가 가능했지만, 생각보다 심리적 부담감이 크게 느껴졌던 것 같다. 천천히 문제의 본질을 꿰뚫어 보면 쉬운 문제들이었는데, 문제가 의도한 바를 짚어내지 못해 방황한 시간들이 너무나 컸다. 시간 내에 못 푼 문제들이 좀 있어서 많이 아쉬웠지만, 대회 끝.. 2024. 9. 9.
[KAUPC/C++] 곱빼기 (Math) 문제https://www.codetree.ai/problems/mul-minus/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 구상문제 자체는 거창해보이지만, 사실 생각할 거리가 조금 있는 비교적 쉬운 문제였다. 우선, while문을 통해 목표값보다 크거나 같은 가장 작은 2의 거듭제곱을 찾는다. 이때 값과 함께 shift 수도 구해야 한다. 그리고,  해당 값과 구해야하는 값을 빼서 남은 값을 계산한다. 남은 값을 2의 거듭젭곱으로 분해해야하는데, 해당 과정이 조금 어렵다.  우선,  8이 2^3 이라는 점을 알고 있으니, 이를 .. 2024. 9. 9.
[KAUPC/C++] 저것도 먹을거란 말이야 (Greedy / Math) 문제https://www.codetree.ai/problems/i-want-to-eat-more/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 구상간단히 문제를 보면 내용이 은근 많아서 꽤나 복잡한 문제라고 생각하기 쉽지만,, 본질을 꿰뚫어보면 사실 정말 간단한 문제이다. 나도 헤맨 부분인데, 사실 한 음식에 대해 개수가 다양하게 주어지는데, n일 동안 최대 3번을 먹을 수 있기에 최대 3개로 저장하면 된다. 그렇게 되면, 어제 먹은 맛과는 다른 맛만 먹으면서 n일을 버티면 다이어트 성공!이 된다. 그리고.. 정말 놀라운 점은 해당.. 2024. 9. 9.
[KAUPC/C++] 기후동행 카드 (Bruteforce) 문제https://www.codetree.ai/problems/climate-card/description구상그냥 정말 쉬운 연산문제다 풀이 + 코드#include#include#include#include#include#define MAX 101#define INF 987654321#define endl "\n"using namespace std;/*기후 동행 카드1회 충전으로 30일간 무제한 이용할 수 있음버, 지: 62,000 / 버, 지, 따: 65,000지: 1300 / 버: 1100 / 따: 40030일간의 지, 버, 따 총 이용 횟수가 주어질 때,가장 저렴한 수단으로 이용했을 때 지불하는 돈의 액수 출력기후동행카드 꼭 사용하지 않아도 됨. */int A, B, C;int res1 = 0; i.. 2024. 9. 5.