이제부터 알고리즘 공부를 해보려고 한다. (알고리즘 공부라 말하고 코딩테스트 대비라고 한다.)그동안 코딩테스트는 생각도 하지 않고 있었다.코딩테스트의 존재도 몰랐다고 보는 것이 더 맞겠다.그러나 부트캠프에 지원해보고자 여기저기 찾아본 결과 웬만한 부트캠프는 전부 SW적
유클리드 호제법의 원리 두 수 A와 B의 최대공약수는 A % B(A를 B로 나눈 나머지)와 B의 최대공약수와 같다는 것을 이용한다. 이 과정을 반복해서 B = 0이 되면, 그 때의 A가 두 수의 최대공약수이다. 예시 A = 56, B = 42의 최대공약수를 구해야
소수란? 소수: 1과 자기 자신만을 약수로 갖는 수. 예시 3의 약수는 1과 3이므로 소수이다. 11의 약수는 1과 11이므로 소수이다. 그렇다면 1은 어떨까? 1은 소수일까? 결론부터 말하자면 1은 소수가 아니다. 소수가 되려면 약수가 2개 있어야 하는데
슬라이딩 윈도우(Sliding Window)란? 슬라이딩 윈도우는 배열, 리스트 또는 문자열과 같은 연속된 데이터 구조에서 부분집합을 효율적으로 탐색하거나 계산하기 위해 사용되는 알고리즘 기법이다. 특히, 고정 길이 또는 가변 길이의 부분 집합에 대해 반복적으로 계
그리디 알고리즘은 동적 프로그래밍을 간단한 문제 해결에 사용하면 지나치게 많은 일을 한다는 것 때문에 고안되었습니다.그리디 알고리즘(탐욕법이라고도 한다)이란 현재리디 알고리즘이란 현재 상황에서 가장 좋은 것을 고르는 알고리즘을 말합니다.그리디 알고리즘은 3가지 단계로