반응형

프로그래밍 문제사이트인 '백준', '프로그래머스'를 기준으로 공부한 방법을 정리함

알고리즘.. 모든걸 이해하며 알아야 할까?

- 어떤 알고리즘의 경우 이해를 바탕으로 사용가능 함

- 어떤 알고리즘의 경우 사용법을 외운 후 이해 또는 이해못해도 계속해서 사용함

- 코딩테스트를 준비하다보면 다양한 알고리즘이 사용됨

- 어떤 알고리즘을 활용하기 위해서는 자료구조를 알아야 함

- 자료구조를 사용하기 위해서는 프로그래밍 언어를 알아야 함

자료구조

- 스택, 큐, 덱, 링크트리스트, 어레이리스트, 트리, 이진트리, 그래프

- 자료구조의 경우 실제 코테에서는 이미 구현된 라이브러리를 가져와 쓰는 경우가 많음

- 최소 한번은 직접 구현해보자.

엔지니어 대한민국- https://www.youtube.com/@eleanorlim/videos

 

엔지니어대한민국

 

www.youtube.com

 

------------------코테에 항상 출제되는 필수 알고리즘-------------
a. 기초정렬, 백트래킹, BFS, DFS  (코테를 본다는 기업이라면 무조건 알아야하는 알고리즘)
b. 정렬심화, 투포인터, 이진탐색, 그리디, DP (코테 컷이 낮으면 합격, 높으면 불합격)

c. 다익스트라, MST, 플로이드 등(코테로 불합격할 일은 없음)


백준 문제풀기

- 정답률 40% 이하의 문제의 경우, 다른문제를 먼저 풀거나, 먼저 푼사람의 풀이를 적극적으로 참고하자

- 각각의 단계의 문제를 풀고 동일한 분야의 문제를 더풀고 싶은경우 참고하기

- (참고 사이트 : https://plzrun.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4PS-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0)

 

알고리즘 문제풀이(PS) 시작하기

이런건 고수들이나 써야 하지 않나 싶지만, 그래도 1년정도 공부하면서 이 분야를 어떻게 시작해야 할지 써보려 한다. ▶ 어떻게 공부해야할까? 나는 아직도 PS(Problem Solving)를 잘 못하지만, 주변

plzrun.tistory.com

 

프로그래머스 문제풀기

- 코딩테스트 고득점 Kit (우선은 해당 알고리즘, 자료구조 Lv1 부분만 풀자)

- 백준과 병행하며 자료구조 개념을 이해하고 사용법에 익숙해졌다면 LV2 풀기

 https://school.programmers.co.kr/learn/challenges?tab=algorithm_practice_kit

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 프로그래밍 언어의 문법과 사용에 익숙해져야 하는 단계(1주)

백준 단계 제목
1 입출력과 사칙연산
2 조건문
3 반복문
4 1차원 배열
5 함수
6 문자열
9 2차원 배열

 -> 기본적인 문법을 요구하는 문제들이므로 어렵다고 느끼는경우 프로그래밍 문법을 다시 공부하면서 문제를 풀자

2. 수학적 지식을 사용할 줄 알아야하는 단계(1주)

7 기본 수학1
8 기본 수학2

-> 수학적 지식을 요구하는 문제들이므로 필요한 지식을 공부하면서 문제를 풀자

3. 자료구조를 알고 사용할 줄 알아야 하는 단계(2주)

13 집합과 맵
14 기하 1
15 정수론 및 조합론
20 스택
21 큐, 덱

-> 해당 자료구조가 동작하는 방식을 알자, 사용하는 언어로 1번은 직접 구현해보자, 사용방법에 익숙해지자

4. 시간 복잡도를 신경써야할 단계( 꾸준하게 )

19 그리디 알고리즘
10 정렬
11 재귀
12 브루트포스
16 백트래킹
17 동적계획법
18 누적합
23 이분 탐색
27 그래프와 순회
24 우선순위 큐
26 스택 2
22 분할 정복
28 최단 경로
29 투 포인터
31 트리

 

반응형

+ Recent posts