티스토리 뷰
알고리즘 설계기법
- BruteForce
- Greedy
- BackTracking
- Divide & Conquer
- DP ( Dynamic Programming )
어떻게 풀까?
- 문제를 보고 어떤 부류의 문제인지 파악
- 시간복잡도를 생각해서 얼마나 걸릴지 파악
- 연산 21억정도(int형 최대)면 1초안에 완전탐색이 가능하다.
삼성 역량테스트 (소프트웨어 검정 시험)
- - IM 1문제 1차원 배열, 단순 시뮬레이션
- A형 AD 2문제(3시간) 시뮬레이션 (최적화까지는 생각 안해도됨)
- B형 Pro
- C형 Expert
AD는 어떻게 나오나?
- BruteForce
- Greedy
- BackTracking
- Divide & Conquer
시뮬레이션 문제
재귀함수
DFS
BFS
멱집합 PowerSet (A라는 집합의 모든 부분집합을 구해라) : 반복문, 바이너리카운팅(가지치기 어려움), 재귀함수
순열
조합
이진탐색
정렬
문자열
트리
서로소 집합
등…
문제 풀이 순서
-
어떤식으로 풀 것인지 절차를 작성
해보는 것이 도움이 된다.
처음에는 자세히 쓰더라도 어느정도 짬이 생기면 나만의 기호, 그림으로 간소화할 수 있다. 그러니 꼭! 꼭! 하자.
-
입력은 어떻게 할 것인가?
-
탐색은 어떻게 할 것인가?
-
출력은 어떻게 할 것인가?
-
다 정했다면... 그것과 관련된 코드는 모두 기억하고 있어야 한다! 자동으로 나와야 함
-
-
절차 작성을 하고나면 그것을 코드로 옮길때 실수하는 공통되는 부분을 자주 발견할 수 있다.
오답노트를 기록해 놓자. -
문제풀이 후 다른 사람과 아이디어 공유. 더 좋은 방법은 없나? 같은 생각을 꼭 해볼 것.
얼른 풀었다고 끝내지 말고, 나와 다른 아이디어로 푼 사람의 풀이를 확인해보면서 경험을 쌓자!
특히, BackTracking 문제를 풀 때 이런 것이 도움이 된다.
'알고리즘 > 코딩 스킬' 카테고리의 다른 글
stable한가? stable하지 않는가? (0) | 2020.08.26 |
---|---|
비트연산 (0) | 2020.08.25 |
배열을 시계 또는 반시계 방향으로 순회하기 (0) | 2020.07.02 |
Java 문자열에서 숫자만 제외하기 or 숫자만 뽑아내기 (0) | 2020.06.26 |
HashSet - 커스텀 클래스 중복 제거 (0) | 2020.06.25 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Greedy
- 드래곤 커브
- 인구이동
- header
- 사다리 조작
- 큰 수 만들기
- 시뮬레이션
- withCredentials
- 재귀
- dfs
- 14891
- java
- 코딩테스트 연습
- 프로그래머스
- 그리디
- 배열순회
- 브라우저 요청
- 자바
- 코테
- 16234
- BOJ
- 아기상어
- 백준
- 우선순위큐
- 구명보트
- 코딩테스트
- Access-Control-Allow-Origin
- 톱니바퀴
- 완전탐색
- 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함