개인 저장소입니다!!!
{{문제출처 + 번호}}_{{문제제목}}.{{확장자}}
- SWE : SW Expert Academy(Samsung)
- BJ : Baekjoon Online Judge
- GG : GeekforGeeks
- LC : LeetCode
- Goog : Google Kickstart
- CC : CareerCup
- DC : DailyCodingProblem
- Language 폴더를 통해 빠르게 언어의 요점을 테스트합니다.
- 용도에 맞는 순서대로(아래) 효율적인 기초 구현체를 배우고 연습합니다.
- 각 주제에 맞는 문제를 출처에서 풀어보거나, 폴더에 저장된 문제를 찾아가서 풀어도 됩니다.
- 조건을 모두 받아 적어라
- 알고리즘을 종이에 짜라
- 엣지 케이스(극단 상황)를 고려해라
- 코딩
- 자신이 짠 코드를 읽고, 이해하고 디버깅
- 디버깅0: 디버거(debugger)를 쓰면 엄청 빨라집니다
- 디버깅1: 알고리즘이 올바른가?
- 디버깅2: 코드를 읽어봤는가?
- 디버깅3: 몇가지 예제로 시뮬레이션을 해봤는가?
- 디버깅4: 극단 상황(엣지 케이스)을 고려했는가?
- Sort/basic 구현 연습
- Search/basic 구현 연습
- Array, List, String, Tree 기초 연습
- HashTable, Graph 기초 연습
- Bruteforce의 combination, permutation, backtracking 기초 연습
- Greedy, Recursion 기초 연습
- DynamicProgramming 기초 연습
- Simulation 문제 풀어보기
- 위의 순서대로 응용 문제 풀어보기
- Digits, number theory, bitwise 기타 주제 연습
- 문제는 크게 "코딩대회"식과 "코딩인터뷰"식이 있는데 길고 인풋/아웃풋이 주어진 문제가 코딩대회식이다.
- 주제 : ExhaustiveSearch, BFS, DFS, Simulation, Coordinates_etc, 해당 기초 구현체 이해 및 문제 연습
- SW Expert Academy, BJ code.plus - 기초편, BJ code.plus - 문제편, BJ code.plus - 연습편
- 알고리즘의 기초를 탄탄히 한 후에
- 아래의 소스를 통해 연습합니다. 보고 배울 좋은 정답이 있으면 좋습니다(개인적인 실패담..효율적인 코드를 많이 보고 배워야 합니다 ㅠㅠ)
- 제 코드의 품질은 좋지 못하니(같이 공부하는 학생인지라;;) 돌아가는 용도로만 확인하시길 바랍니다(아니면 문제도 같이 있으니 풀어보셔도)
- Leetcode
- GeekforGeeks
- Careercup
- DailyCodingProblem
- TechInterviewPro : 유명한 유투버가 만든 인터뷰 코스인데 나중에 준비하게 되면 공부할꺼라 적어놓습니다
- searching
- sorting
- graph
- bit
- pattern searching
- geometric
- mathematical
- probability
- game theory
- Array
- List
- Stack
- Queue
- Tree
- Hash
- Graph
- String
- Matrix
- Advanced
these code may not run. try :
-
for c/cpp programs
g++ -o {{executable name}} {{code file name}}
-
for java programs(on windows. for linux, no need for encoding/classpath flags)
javac {{java file name}} -encoding UTF8
java -classpath . {{Main class name}}
- for node.js algorithms
node {{filename}}
You may need to modify fs.readFileSync directory if in other than Linux. You can use a text input.
나중에 쓸일 생기면 : 시간, 공간복잡도, 일반화된 수식, P=NP 추가