언어 : Python온라인 개발환경 : 리플릿 (추천! => 이후 블로그나 깃허브 등에 기록)온라인 저지 : 백준, 코드업, 프로그래머스 (국내) / 코드포스, 탑코더, 릿코드, 코드셰프 (해외)자신이 자주 사용하는 알고리즘 코드를 라이브러리화하면 좋다. (a.k.a
수, 리스트, 문자열, 튜플, 사전, 집합
기본입출력, 조건문, 반복문, 함수와 람다표현식, 자주 사용되는 표준 라이브러리 - 내장함수, itertools, heapq, bisect, collections, math
문자열 슬라이싱, 계산, 찾기, 공백 처리, 대소문자, 수정, 연산, 숫자와 문자
문자열, 리스트, 집합, 딕셔너리, 튜플
연산자, 기본내장함수, 자료형 변환, math 모듈, itertools 모듈, collections 모듈, 기타함수, 정규식, 전역변수
소인수분해, 등수 매기기, 저주의 숫자3, 특이한 정렬, 안전지대, 겹치는 선분의 길이
덧칠하기, 다트게임, 개인정보수집 유효기간
소수찾기 - 에라토스테네스의 체, 기사단원의 무기 - 약수의 개수, 숫자 짝꿍 - 형변환, 달리기 경주 - 자료형 메소드
"Key-Value 쌍으로 데이터를 빠르게 찾아보세요."
"LIFO, FIFO, push & pop! 스택과 큐를 이용해서 문제를 풀어보세요."
"힙은 특정한 규칙을 가지는 트리로, 힙을 이용해서 우선순위 큐를 구현할 수 있습니다."
"정렬을 이용해서 문제를 효율적으로 풀어보세요." | 선택정렬, 삽입정렬, 퀵정렬, 계수정렬, 버블정렬, 합병정렬
"무식해 보여도 사실은 최고의 방법일 때가 있지요. 가능한 모든 상황을 조사해 문제를 풀어보세요."
"부분적인 최적해가 전체적인 최적해가 되는 마법! 언제나 통하지는 않지만, 이런 방법이 통하는 문제들을 만나보세요."
"불필요한 계산을 줄이고, 효율적으로 최적해를 찾아야만 풀리는 문제들입니다."
그래프 - 인접행렬, 인접리스트 | DFS | BFS
"깊이/너비 우선 탐색을 사용해 원하는 답을 찾아보세요."
"이분탐색 기법을 이용해 효율적으로 값을 찾아보세요"
그래프 자료구조 : 그래프와 트리
그래프 알고리즘 : 서로소 집합, 최소신장트리, 크루스칼 알고리즘, 프림 알고리즘, 위상정렬 알고리즘
그래프 알고리즘 : 최단경로 - 다익스트라, 벨만포드, 플로이드 워셜 알고리즘
"엣지를 지나 그래프의 노드를 탐험해봅시다."
🗓️ 2023.07.25 ~ 2023.07.26 새벽 하루(+n시간)만에 호로록 class 2 완료
비트마스크로 집합 구현 & 연산하기
구간합을 구할때 시간을 줄이는 법 : 누적합
입력값의 범위가 입력값의 개수보다 크고, 값보다 값의 순위가 더 중요할 때 사용하는 좌표압축 알고리즘
🗓️ 2023.07.28 ~ (7/30~8/3 여행으로 인한 공백) ~ 2023.08.09 | [9095] 1, 2, 3 더하기 | [1012] 유기농 배추 | [1074] Z | 그 외 자질구레한 문제들 메모
LIS(최장 증가 부분 수열, Longest Increasing Subsequence)를 구하는 방법 : DP와 이분탐색
Longest Common Substring(최장 공통 문자열)과 Longest Common Subsequence (최장 공통 부분수열) 구현하기
탐욕법으로 푸는 fractional knapsack 문제와 DP로 푸는 0-1 knapsack 문제
가중치가 0과 1로만 주어진 그래프에서 최단경로를 찾을 때 사용할 수 있는 0-1 BFS 알고리즘
상단에서 분할(divide)하고, 중앙에서 정복(conquer)하고, 하단에서 조합(combine)하는 분할정복(Divide and Conquer) 알고리즘
그래프와 트리에서 경로찾기, BFS/DFS와 다익스트라 | 트리의 지름
백트래킹 : 해를 찾는 도중 막히면 되돌아가서 다시 해를 찾는 기법 | N-queen | 부분수열의 합
🗓️ 2023.08.09 ~ 2023.08.21 🗓️
1차원배열을 포인터 두개로 탐색하는 투포인터
파이썬으로 공부하다가 큰맘먹고 신청한 인생 첫 코테가 자바만 된다니 ㅋㅋㅋㅋㅋㅋㅋ 하..... 진짜 하나도 안웃김 급하니까 중요한 부분만 자바로 옮겨보는 연습을 했다.
탐색 시간을 줄이는 브루트포스 알고리즘의 일종 - 중간에서 만나기
DP + 비트마스킹 = 비트필드를 이용한 DP
시간초과 진짜 *같아서 진짜 아오
그래프의 모든 정점을 딱 한번씩만 지나면서 시작점과 끝점이 같은 경로를 찾아라
그동안 공부한 알고리즘들이 모두 헛수고가 되는 듯한 개빡센 구현/시뮬레이션 문제...
🗓️ 2023.08.21 ~ 2023.09.08 🗓️
백트래킹으로 순열/조합 구하기
해냈다... WOW | 삼성코테 푸는법 | 우선순위대로 선택하기 | BFS로 최단경로 구하기
시계방향으로 90도 회전하기 | 180도 회전하기 | 반시계방향으로 90도 회전하기 | 부분만 회전하기