본문 바로가기

Algorithms and Languages/25-1 파이썬 알고리즘 코딩캠프

(11)
[알고리즘 코딩캠프 후기] 2주간의 수업 수강을 마친 후기 및 성과 안녕하세요!! 커피러브입니다~!~~!!@!!이번 겨울에 제가 재학중인 대학교에서 알고리즘 코딩캠프 교육이 열렸어서,2주 동안 수업을 수강하고 공부한 후기를 적어보려 합니다!!~!신상 유추 문제 때문에 학교나 교육명이 특정될만한 내용은 적지 않은 점 양해 부탁드려요 ㅠ신청한 이유12월 말에, 학교 공지사항에 `알고리즘 코딩캠프 교육 수강생 모집` 공지가 올라왔어요. 저는 아직 진로를 고민중이긴 하지만, 백엔드 개발자 또는 AI/데이터 직군 엔지니어로 취업을 희망하고 있어 코딩 테스트 준비와 알고리즘 문제풀이 역량이 필요한 상황이었습니다.또한, 개발 쪽으로 진로를 확정한다면 3학년 2학기, 늦어도 4학년 올라가는 겨울방학에는 에는 연합 동아리 활동을 시작하고 싶은데, 유명 연합 동아리들은 대부분 코딩 테스트..
[알고리즘 코딩캠프 10일차] 백준 4문제 모의고사 시행 제가 재학 중인 대학교에서 열린 `파이썬 알고리즘 코딩캠프(25.02.03 ~ 25.02.14)` 수업을 듣고 정리한 글입니다.목차 :모의고사종이 자르기아기 상어 2파티물대기모의고사코딩캠프 마지막 날!! 10일차에는 다음 날(토요일)에 있을 사후시험을 대비하여, 강사님께서 선별해주신 문제들로 모의고사를 봤습니다. 2시간에 4문제를 시험봤고, (최적화는 아쉬웠지만) 3문제를 맞혔습니다.집에서 연습용으로 시간 안 재고 푸는 것과, 이렇게 시간 재고 푸는 건 긴장감이 차원이 다르다 느꼈고, 앞으로도 문제풀이 시에 실전이라는 마인드로, 타임아웃 딱 정해놓고 시간 재며 풀어야겠다는 생각이 들었습니다.문제1) 백준 - 2628. 종이자르기(정답)https://www.acmicpc.net/problem/2628htt..
[알고리즘 코딩캠프 9일차] 다익스트라 알고리즘 제가 재학 중인 대학교에서 열린 `파이썬 알고리즘 코딩캠프(25.02.03 ~ 25.02.14)` 수업을 듣고 정리한 글입니다.목차 :다익스트라 알고리즘_개념리스트를 사용한 다익스트라최소 힙을 사용한 다익스트라시간복잡도 분석그리디한 선택이 최적해를 보장함 야매 증명다익스트라 알고리즘_개념더보기얘는그리디임. 가장 작은 것부터 선택해나감.음수 간선을 허용하지 않음. (음수간선을 허용하면 그리디하게 할 수 없기 때문, 벨만 포드 알고리즘은 코테 거의 x)출발 정점은 문제에서 보통 주어지는데, 우린 0번 정점에서 출발한다고 가정하자.5번 정점까지 가는 최단거리를 구하라 했다고 생각해보자.해당 정점까지의 현재까지의 최단 거리를 저장한 distance 리스트 정의해당 정점까지의 최단 거리가 확정되었는지 여부를 저장..
[알고리즘 코딩캠프 8일차] 유니온 파인드, 최소 신장 트리(MST), 크루스칼 알고리즘 제가 재학 중인 대학교에서 열린 `파이썬 알고리즘 코딩캠프(25.02.03 ~ 25.02.14)` 수업을 듣고 정리한 글입니다.목차 :유니온 파인드_개념유니온 파인드_구현 및 최적화아무 최적화를 안 했을 때경로 안축만 적용랭크를 통한 합집합만 적용둘 다 적용요약 및 정리Ref.최소 신장 트리(MST)크루스칼 알고리즘_개념크루스칼 알고리즘_구현유니온 파인드_개념더보기# 유니온-파인드 (Union-Find)# 서로소 집합을 효율적으로 관리하는 알고리즘.# 서로소 집합(disjoint set)을 대상으로 다룸.# 집합 A, B가 있을 때, A와 B의 교집합이 공집합이면 A와 B는 서로소 집합임.# 유니온 파인드는 서로소 집합 ADT를 구현하는 한 방법으로 볼 수 있음.# 엄밀히 보면 유니온 파인드는 자료구조보..
[알고리즘 코딩캠프 7일차] 트리, 이진 트리, 이진 트리의 순회, 힙, 우선순위 큐 제가 재학 중인 대학교에서 열린 파이썬 알고리즘 코딩캠프(25.02.03 ~ 25.02.14) 수업을 듣고 정리한 글입니다.목차 :트리, 이진 트리이진 트리의 순회힙, 우선순위 큐트리, 이진 트리더보기트리는 ‘사이클이 없는 무방향 그래프’를 의미하며, 계층형 자료구조를 가짐.이진 트리 : 노드의 차수가 최대 2인 트리트리 및 이진 트리에 대한 자세한 건 자료구조 때 공부했던 거 참고.트리는 다양한 표현 방식이 있으나, 이진 트리의 경우는 차수 최대 제한이 있으니,각 노드에 대해 left, right 두 가지를 가지고 표현하는 게 가장 효율적. 백준 등에서 트리에 대한 입력은 보통 아래처럼 들어옴.0번은 보통 안 씀.L R이 둘다 -1면 리프 노드 ← 문풀에 많이 쓰는 정보. 1번부터 13번까지 총 13개..
[알고리즘 코딩캠프 6일차] 순열, 조합, 중복순열, 중복조합, 백트래킹 제가 재학 중인 대학교에서 열린 `파이썬 알고리즘 코딩캠프(25.02.03 ~ 25.02.14)` 수업을 듣고 정리한 글입니다.목차 :순열과 조합순열조합중복순열중복조합백트래킹순열과 조합더보기직접 구현할 경우, 재귀를 사용해 구현.순열과 조합의 직접 구현 2단계뽑고 싶은 만큼 뽑았다면 종료한다.그렇지 않다면, 재귀를 돌면서 수를 더 뽑는다.(참고로, bfs와 달리 재귀 및 재귀를 사용한 dfs는 종료 조건이 action 부분에 있어도 ㄱㅊ. 오히려 코드 깔끔해짐.) 코테에선 대부분의 경우 `itertools 모듈` 내 함수들을 import해서 쓰게 됨.왜냐? 그게 당연히 더 빠르기도 하고, 순열조합은 보통 문제의 과정으로서 등장하기에 알고리즘 자체에 변형을 가할 일은 별로 없기 때문.순열더보기# 순열(pe..
[알고리즘 코딩캠프 5일차] 그래프 탐색 알고리즘: DFS, BFS 제가 재학 중인 대학교에서 열린 `파이썬 알고리즘 코딩캠프(25.02.03 ~ 25.02.14)` 수업을 듣고 정리한 글입니다.목차 :그래프 탐색 알고리즘DFSBFS그래프 탐색 알고리즘더보기코테 비율 40% 이상 유형 문제. 굉장히 중요한 유형임.거의 무조건 코테에 한 문제 이상씩은 나온다 보면 됨. 그래프 자료구조는 탐색 알고리즘에 사용됨.`그래프`라는 자료구조를 가지고, `그래프 탐색`이란 알고리즘을 설계할 것.`그래프 탐색 알고리즘` : 시작 정점에서 간선을 타고 이동할 수 있는 모든 정점을 찾는 알고리즘. 일종의 완전 탐색임.깊이우선탐색과 너비우선탐색은 스택과 큐의 개념이 같이 들어감.DFS : 스택(재귀) + 그래프BFS : 큐(덱) + 그래프DFS더보기모든 정점을 방문할 때 유리(사실 모든 정..
[알고리즘 코딩캠프 4일차] 스택, 큐, 덱, 그래프 - 인접 행렬, 인접 리스트 제가 재학 중인 대학교에서 열린 `파이썬 알고리즘 코딩캠프(25.02.03 ~ 25.02.14)` 수업을 듣고 정리한 글입니다.목차 :스택큐덱그래프인접 행렬인접 리스트스택더보기스택은 ADT에서 `push, pop` 두 가지 대표적인 연산을 가짐.후입선출파이썬은 스택이 따로 라이브러리로 정의되어있진 않고,리스트에서 append와 pop으로 정의되어 있음.이 정도만 알아도 나머진 문제푸는 데 지장 없고, 나머진 우리들의 사고력 문제.# 파이썬에서 스택은 리스트로 구현한다.stack = []# pushstack.append(1)stack.append(2)stack.append(3)print(stack)# peek (top에 있는 요소를 삭제하지 않고 조회만 하는 연산)# 따로 peek 연산이 있는 건 아니고,..