알고리즘 강의

    [03강] 에라토스테네스의 체 알고리즘

    [03강] 에라토스테네스의 체 알고리즘

    안녕하세요 Gliver 입니다. 이번 글에서는 에라토스테네스의 체 알고리즘에 대해 알아보겠습니다. 목차 에라토스테네스의 체 알고리즘 실제 문제에서 에라토스테네스의 체 알고리즘 에라토스테네스의 체 알고리즘 에라토스테네스의 체 알고리즘은 소수(Prime Number)를 판별하는 알고리즘입니다. 소수 : 약수가 1과 자기 자신뿐인 자연수 좀 더 자세히 말하자면, 자연수 N에 대해 에라토스테네스의 체 알고리즘을 수행하고 나면, 2~N 범위의 자연수는 O(1) 만에 소수(Prime Number)인지를 판별할 수 있습니다. 에라토스테네스의 체 알고리즘을 알아보기 전에, 약수의 성질에 대해 알아보겠습니다. 약수의 성질 어떤 자연수 n이 있을 때, n의 약수 A, B에 대해 n = A x B 형태로 나타낼 수 있습니다..

    [02강] 나머지(모듈러, modulo) 연산

    안녕하세요 Gliver 입니다. 이번 글에서는 나머지(모듈러, modulo) 연산에 대해 알아보겠습니다. 목차 나머지(모듈러, modulo) 연산의 의미 나머지(모듈러, modulo) 연산의 특징 실제 문제에서 나머지(모듈러, modulo) 연산 나머지(모듈러, modulo) 연산의 의미 모듈러 연산이란 어떤 한 숫자를 다른 숫자로 나눈 나머지를 구하는 연산입니다. 예를 들어, 두 정수 A, B에 대해서 A를 B로 나누어 나머지가 C가 나왔다면 "A mod B = C" 또는 "A % B = C"라고 표현할 수 있습니다. C는 A를 B로 나누었을 때의 나머지에 해당하므로, "0 ≤ C ≤ B-1"을 만족 나머지(모듈러, modulo) 연산의 특징 이러한 나머지(모듈러, modulo) 연산의 특징은 크게 다..

    [01강] 시간 복잡도

    안녕하세요 Gliver 입니다. 이번 글에서는 시간 복잡도에 대해 알아보겠습니다. 목차 시간 복잡도의 의미 자주 쓰이는 시간 복잡도 실제 문제에서 시간 복잡도 시간 복잡도의 의미 시간 복잡도는 프로그램이 돌아가는 데 걸리는 시간을 표기한 것입니다. 프로그램의 기본 연산의 횟수는 상수와 변수로 표현 가능합니다. 따라서, 시간 복잡도를 표현할 때 사용하는 문자도 상수와 변수뿐입니다. ex) "3n + 1000" 번의 기본 연산이 이루어지면, 변수 n과 상수 1000으로 시간 복잡도를 나타낼 수 있음. 자주 쓰이는 시간 복잡도 저희는 Big-O 표기법에 대해서만 다룰 것입니다. Big-O 표기법은 프로그램 동작 시간에 가장 큰 영향을 주는 값을 중심으로 시간복잡도를 표기합니다. 큰 영향을 주는 값이라는 것은 ..

    알고리즘 목차

    안녕하세요 Gliver 입니다. 이번 글은 특정한 내용을 담는 글이 아니라, 제 블로그의 알고리즘 글에 대한 목차와 업로드 여부를 한눈에 볼 수 있게끔 구성한 글입니다! 알고리즘 목차 ☑ 표시된 글은 클릭하여 바로 이동할 수 있습니다. 알고리즘 공부법 ☑ [기본 알고리즘] 시간 복잡도 ☑ 나머지(모듈러, modulo) 연산 ☑ 에라토스테네스의 체 알고리즘 ☑ 유클리드 알고리즘 ☑ 조합 알고리즘 ☑ 순열 알고리즘 ☑ [필수 알고리즘] 정렬 알고리즘 ☑ 브루트 포스 알고리즘 ☑ 그리디 알고리즘 ☑ DP 알고리즘 ☑ 이분 탐색 알고리즘 ☑ 투 포인터 알고리즘 ☑ [그래프 알고리즘] 그래프(Graph)를 배우는 이유 ☑ 그래프(Graph) 기본 ☑ 그래프(Graph) 순회 (DFS & BFS) ☑ 그래프(Gra..

    알고리즘 공부법

    안녕하세요 Gliver 입니다. 이번 글에서는 알고리즘 공부법에 대해 알아보겠습니다. 목차 문제를 해결하는 데 필요한 능력 코딩테스트와 대회의 차이점 추천하는 알고리즘 공부법 Gliver의 알고리즘 1. 문제를 해결하는 데 필요한 능력 코딩테스트나 대회의 궁극적인 목표는 문제를 해결하는 것입니다. 다음은 문제를 해결하는 데에 필요한 3가지 요소입니다. ㆍ 문제해결능력 ㆍ 알고리즘 ㆍ 구현력 문제를 보고 이 문제를 "어떻게 해결할 것인가"에 대해 생각하고(문제해결능력), 이를 배웠던 알고리즘과 연결시켜(알고리즘), 코드로 구현하는 과정(구현력)을 거치면 문제를 해결할 수 있게 됩니다. 2. 코딩테스트와 대회의 차이점 위에서 말했듯이, 문제를 풀기 위해서는 문제해결능력, 알고리즘, 구현력 등이 필요합니다. ..

    나의 알고리즘 스토리 : 알고리즘 글의 방향성

    [2023.06.24] 이때 당시에는 성취한 것에 대한 기록과 블로그 포스팅 의지를 다지기 위해 쓴 글인데.. 지금 보니 많이 부끄럽네요.. 서론 안녕하세요 Gliver 입니다. 이번 글에서는, 제가 알고리즘을 어떻게 시작하게 되었는지, 어떻게 공부를 하였는지와 알고리즘을 공부하며 저에게 있었던 일들에 대해 이야기하고 제가 추천하는 알고리즘 공부법을 말씀드리겠습니다. 제가 알고리즘을 공부한 시점인 1학년(2020년) 7~11월, 2학년(2021년) 6월~11월로 나누어 제 이야기를 풀어나가겠습니다. 목차 1학년(2020년) 7 ~ 11월 2학년(2021년) 6 ~ 12월 알고리즘 글의 방향성 1학년(2020년) 7 ~ 11월 이 시점에는 파이썬 기본 문법 정도만 알던 시점이었습니다. [2020 UCPC ..