알고리즘
-
▒ 코딩테스트 공부 방법 1. codeup 기초 100제로 기초를 다지고 사용할 언어에 익숙해지도록 한다. 2. 백준온라인 저지 단계별, 유형별 문제를 푼다. 배열, 문자열, 정렬, 브루트포스(완전탐색), 재귀, 백트래킹, 동적계획법, bfs/dfs 등의 유형에 익숙해진다. -완전탐색(재귀나 백트래킹으로)->시뮬레이션->그래프(위상정렬, 다익스트라..)->최소신장유니온트리(유니온파인드 등)->심화문제(스택으로 라인스위핑 같은)->DP, dp는 코딩테스트에 나오면 완죠니 어렵게 나온다고 한다. 3. 프로그래머스 코딩테스트 고득점 kit를 푼다. 유형별 4~7문제를 풀며 자주 나오는 유형을 익힌다. 4. 프로그래머스 스킬체크 주어진 시간내에 2문제를 풀고, 나의 실력을 파악한다. 레벨3정도면 웬만한 코딩테스..
[알고리즘] 완전탐색 문제풀이 _ 파이썬▒ 코딩테스트 공부 방법 1. codeup 기초 100제로 기초를 다지고 사용할 언어에 익숙해지도록 한다. 2. 백준온라인 저지 단계별, 유형별 문제를 푼다. 배열, 문자열, 정렬, 브루트포스(완전탐색), 재귀, 백트래킹, 동적계획법, bfs/dfs 등의 유형에 익숙해진다. -완전탐색(재귀나 백트래킹으로)->시뮬레이션->그래프(위상정렬, 다익스트라..)->최소신장유니온트리(유니온파인드 등)->심화문제(스택으로 라인스위핑 같은)->DP, dp는 코딩테스트에 나오면 완죠니 어렵게 나온다고 한다. 3. 프로그래머스 코딩테스트 고득점 kit를 푼다. 유형별 4~7문제를 풀며 자주 나오는 유형을 익힌다. 4. 프로그래머스 스킬체크 주어진 시간내에 2문제를 풀고, 나의 실력을 파악한다. 레벨3정도면 웬만한 코딩테스..
2020.10.06 -
▒ 코딩테스트 공부 방법 1. codeup 기초 100제로 기초를 다지고 사용할 언어에 익숙해지도록 한다. 2. 백준온라인 저지 단계별, 유형별 문제를 푼다. 배열, 문자열, 정렬, 브루트포스(완전탐색), 재귀, 백트래킹, 동적계획법, bfs/dfs 등의 유형에 익숙해진다. -완전탐색(재귀나 백트래킹으로)->시뮬레이션->그래프(위상정렬, 다익스트라..)->최소신장유니온트리(유니온파인드 등)->심화문제(스택으로 라인스위핑 같은)->DP, dp는 코딩테스트에 나오면 완죠니 어렵게 나온다고 한다. 3. 프로그래머스 코딩테스트 고득점 kit를 푼다. 유형별 4~7문제를 풀며 자주 나오는 유형을 익힌다. 4. 프로그래머스 스킬체크 주어진 시간내에 2문제를 풀고, 나의 실력을 파악한다. 레벨3정도면 웬만한 코딩테스..
[알고리즘] BFS/DFS 문제 풀이 _ 파이썬▒ 코딩테스트 공부 방법 1. codeup 기초 100제로 기초를 다지고 사용할 언어에 익숙해지도록 한다. 2. 백준온라인 저지 단계별, 유형별 문제를 푼다. 배열, 문자열, 정렬, 브루트포스(완전탐색), 재귀, 백트래킹, 동적계획법, bfs/dfs 등의 유형에 익숙해진다. -완전탐색(재귀나 백트래킹으로)->시뮬레이션->그래프(위상정렬, 다익스트라..)->최소신장유니온트리(유니온파인드 등)->심화문제(스택으로 라인스위핑 같은)->DP, dp는 코딩테스트에 나오면 완죠니 어렵게 나온다고 한다. 3. 프로그래머스 코딩테스트 고득점 kit를 푼다. 유형별 4~7문제를 풀며 자주 나오는 유형을 익힌다. 4. 프로그래머스 스킬체크 주어진 시간내에 2문제를 풀고, 나의 실력을 파악한다. 레벨3정도면 웬만한 코딩테스..
2020.09.10 -
▒ 코딩테스트 공부 방법 1. codeup 기초 100제로 기초를 다지고 사용할 언어에 익숙해지도록 한다. 2. 백준온라인 저지 단계별, 유형별 문제를 푼다. 배열, 문자열, 정렬, 브루트포스(완전탐색), 재귀, 백트래킹, 동적계획법, bfs/dfs 등의 유형에 익숙해진다. -완전탐색(재귀나 백트래킹으로)->시뮬레이션->그래프(위상정렬, 다익스트라..)->최소신장유니온트리(유니온파인드 등)->심화문제(스택으로 라인스위핑 같은)->DP, dp는 코딩테스트에 나오면 완죠니 어렵게 나온다고 한다. 3. 프로그래머스 코딩테스트 고득점 kit를 푼다. 유형별 4~7문제를 풀며 자주 나오는 유형을 익힌다. 4. 프로그래머스 스킬체크 주어진 시간내에 2문제를 풀고, 나의 실력을 파악한다. 레벨3정도면 웬만한 코딩테스..
[알고리즘] 순열, 조합, 그래프 표현 _ 파이썬▒ 코딩테스트 공부 방법 1. codeup 기초 100제로 기초를 다지고 사용할 언어에 익숙해지도록 한다. 2. 백준온라인 저지 단계별, 유형별 문제를 푼다. 배열, 문자열, 정렬, 브루트포스(완전탐색), 재귀, 백트래킹, 동적계획법, bfs/dfs 등의 유형에 익숙해진다. -완전탐색(재귀나 백트래킹으로)->시뮬레이션->그래프(위상정렬, 다익스트라..)->최소신장유니온트리(유니온파인드 등)->심화문제(스택으로 라인스위핑 같은)->DP, dp는 코딩테스트에 나오면 완죠니 어렵게 나온다고 한다. 3. 프로그래머스 코딩테스트 고득점 kit를 푼다. 유형별 4~7문제를 풀며 자주 나오는 유형을 익힌다. 4. 프로그래머스 스킬체크 주어진 시간내에 2문제를 풀고, 나의 실력을 파악한다. 레벨3정도면 웬만한 코딩테스..
2020.09.03 -
○ 탐색 알고리즘 코딩테스트 단골 문제 BFS, DFS 흔히 BFS, DFS + 재귀 문제만 잘 풀어도 코딩테스트에 통과할 수 있다고 하는데요. 그만큼 단골문제로 등장하는 BFS(너비 우선 탐색), DFS(깊이 우선 탐색)에 대해 알아보고 관련 백준 예제도 풀어도보도록 하겠습니다. 우선 탐색 이란 무엇인가. 프로그래밍을 할 때 데이터베이스 안의 수 많은 자료에서 원하는 자료를 찾으려면 어떻게 해야할까요? 만약 데이터가 정렬이 되어있다면 이진탐색을 통해서 최대 로그N의 연산만으로 찾을 수 있겠지만, 정렬이나 분류가 되어있지 않는 자료라면 이야기가 달라집니다. 원하는 자료를 찾을 때 까지 하나씩 직접 확인하며 찾아야합니다. 이러한 무식한 방법이 바로 깊이 우선 탐색(DFS)와 너비 우선 탐색(BFS) 입니다..
[알고리즘] 탐색 BFS, DFS _ 백준 1260 파이썬○ 탐색 알고리즘 코딩테스트 단골 문제 BFS, DFS 흔히 BFS, DFS + 재귀 문제만 잘 풀어도 코딩테스트에 통과할 수 있다고 하는데요. 그만큼 단골문제로 등장하는 BFS(너비 우선 탐색), DFS(깊이 우선 탐색)에 대해 알아보고 관련 백준 예제도 풀어도보도록 하겠습니다. 우선 탐색 이란 무엇인가. 프로그래밍을 할 때 데이터베이스 안의 수 많은 자료에서 원하는 자료를 찾으려면 어떻게 해야할까요? 만약 데이터가 정렬이 되어있다면 이진탐색을 통해서 최대 로그N의 연산만으로 찾을 수 있겠지만, 정렬이나 분류가 되어있지 않는 자료라면 이야기가 달라집니다. 원하는 자료를 찾을 때 까지 하나씩 직접 확인하며 찾아야합니다. 이러한 무식한 방법이 바로 깊이 우선 탐색(DFS)와 너비 우선 탐색(BFS) 입니다..
2020.05.08 -
● Greedy Algorithm 그리디(Greedy) 알고리즘은 'greedy'(탐욕, 욕심쟁이)라는 뜻에서 유추할 수 있듯이 멀리 생각하지 않고 지금 당장의 단계에서 가장 좋은(최선의) 선택을 하는 문제해결 방법입니다. 각 단계에서 가장 좋은 선택을 했을 때 전체적으로 최선의 해결방법이 되길 바라는 알고리즘입니다. 그리디 알고리즘은 동적프로그래밍(다이나믹, DP)에서 지나치게 많은 연산과정을 거치는 것을 보완하기 위해 나온 개념이지만, 모든 문제에서 그리디 알고리즘이 최선의 선택을 보장하는 것은 아니라는 단점이 있습니다. 사실 대다수의 경우 올바른 답을 주진 않지만 쉽고 적은 연산으로 문제를 해결하는데 좋은 결과를 보장한다는 점에서 많이 사용되는 개념입니다. 예시1 - 백준 11047 동전0 그리디 ..
[알고리즘] 그리디 알고리즘 _ 백준11047 파이썬● Greedy Algorithm 그리디(Greedy) 알고리즘은 'greedy'(탐욕, 욕심쟁이)라는 뜻에서 유추할 수 있듯이 멀리 생각하지 않고 지금 당장의 단계에서 가장 좋은(최선의) 선택을 하는 문제해결 방법입니다. 각 단계에서 가장 좋은 선택을 했을 때 전체적으로 최선의 해결방법이 되길 바라는 알고리즘입니다. 그리디 알고리즘은 동적프로그래밍(다이나믹, DP)에서 지나치게 많은 연산과정을 거치는 것을 보완하기 위해 나온 개념이지만, 모든 문제에서 그리디 알고리즘이 최선의 선택을 보장하는 것은 아니라는 단점이 있습니다. 사실 대다수의 경우 올바른 답을 주진 않지만 쉽고 적은 연산으로 문제를 해결하는데 좋은 결과를 보장한다는 점에서 많이 사용되는 개념입니다. 예시1 - 백준 11047 동전0 그리디 ..
2020.04.27