알고리즘/자료구조 & 알고리즘 개념정리 16

알고리즘 스터디 1주차 - 투 포인터 (two pointer)

이건 동빈나 prefix sum보다가 우연히 보게 됐는데 이번주 스터디 숙제에도 껴있었다. youtu.be/rI8NRQsAS_s 이건 쉬워서? 맞나? 바로 이해함 오홍 단조 증가 / 감소해야지 투 포인터를 쓸 수 있는 것 같다. 그래야 특정 값이 나오면 end를 멈춰버리고 start를 갱신! 백준 2003번 수들의 합2 (www.acmicpc.net/problem/2003) #include #include #include using namespace std; vector arr; int main() { int n, m , number; cin >> n >> m; arr.resize(n + 1); for (int i = 1; i > m; arr.resize(n + 1); for (int i = 1; i

알고리즘스터디 1주차 - dynamic programming

다이나믹 프로그램은 이전에 스터디할 때 한 번 다뤘던 소재에다가 점.화.식만 잘 쓰면 된다는 스터디장님의 말이 있었지만 사실 기억이 가물가물하므로 동빈나 유튜브 보고 공부했습니당. 재미써여 근데 선생님,,,, 피보나치랑 이후 문제들이랑 넘 차이가 나지 않나요,,,,? 휴ㅠ 개미전사 문제는 이전 스터디 때 한 번 풀었어서 스윽 보고 지나갔다 . 1로 만들기 문제는 감을 못잡다가 설명을 조금 듣고 문제를 풀었을 때 2의 배수o/x , 3의 배수 o/x , 5의 배수 o,x 이렇게 총 8가지의 경우에 대해서 조건문을 달았는데 나동빈 선생님 설명듣고 이해해버림 ㅠㅠ 개쩔어 뭘 하든 1을 뺀 것보다는 빠르게 감소할거다. 그래서 -1한 값을 default 값으로 설정해준다. 만약 2,3,5 중 하나라도 배수관계가 ..

알고리즘 스터디 1주차 그리디 알고리즘

오호라 greedy algorithm도 대충 스터디장님이 거스름돈 문제를 예시로 설명해주셨지만, 나동빈님의 유튜브 영상을 보고 추가 공부를 했다. 거스름돈 문제보고 완전 쉽네 이러고 회의배정 문제 풀었다가 2시간 고민하고 엉엉 울면서 다시 나동빈님 유튜브로 돌아옴,,,, 눈물 닦으면서 문제 같이 풀어보는 중,,, # 1이 될 때까지 거의 밥솥대가리를 부여잡고 엥 result 뭐야 이러고 있었는데 이해하고 감탄함 진짜 천재같아요 나동빈님 #include using namespace std; int main() { int n, k; // 25 , 3 cin >> n >> k; int count = 0; while (1) { if (n < k) break; int target = (n / k) * k; // ..

알고리즘 스터디 1주차 - 세그먼트 트리 (Segment tree)

1주차 주제는 segment tree / gridy / dynamic Algorithm A - 구간 합 구하기 4 B - 구간 합 구하기 C - 회의실배정 D - 1로 만들기 E - 계단 오르기 F - 수들의 합 2 G - Byte Coin H - 행렬 곱셈 순서 이렇게 8개가 숙제다 다들 코테 준비하던 분들이라서 왕창 잘해서 모든 알고리즘을 설명해주시진 않는다. segment tree 만 설명해주시고, 나머지는 알아서 공부해야되는데 알고리즘 입문 단계인 나에게 좀 버겁다. 하지만 스터디장님이 설명을 끝장나게 잘해주심 외쳐 갓상규~!~!~!~!✨👍🎉 11/14(금) segment tree 설명을 들을 땐 다 이해가 되고 모든 문제를 다 풀 수 있을 거 같은 기분이지만, 막상 문제는 안풀린다. 심지어 한 ..