슬슬 백준 문제를 푸는데 알고리즘과 관련된 내용이 나오기 때문에 알고리즘을 공부하기로 마음먹고 인프런에 있던 영리한 프로그래밍을 위한 알고리즘 강좌를 듣기 시작했다.
첫 섹션은 순환(recursion)에 대한 내용이다. 가장 기본이 되는 알고리즘이지만 제대로 이해하지 못하면 헷갈릴 수 있는 부분이라고 생각한다.
강의에서는 재귀를 사용하여 팩토리얼 함수, 제곱근 함수, 피보나치 함수, 최대공약수 함수를 구하는 방법을 설명했다.
앞선 예제들은 가장 많이 접해본 예제여서 쉽게 이해했지만 최대공약수를 구하는 함수 부분에서 두가지 방법을 소개해줬는데 두가지의 차이점의 이유를 생각해 봐야겠다.
최대공약수의 경우 첫번째로 설명할 때 두개의 숫자가 주어지면 그것에 대하여 대소 관계를 구분하여 작은 값으로 큰값의 나머지를 구하도록 했다.
그러나 두번째에서는 대소관계를 구분하지 않고 그저 한 값이 0인지 아닌지 확인 후 gcd함수를 써주었다.
이부분에 대해서는 다시 한번 공부해 봐야겠다.
'My record' 카테고리의 다른 글
[취준 일기] SK C&C 면접 후기 (0) | 2021.06.17 |
---|---|
[인프런] 영리한 프로그래밍을 위한 알고리즘 강좌 (0) | 2021.01.31 |
2020년 3회 정처기 자격증 후기 (0) | 2021.01.21 |
밑바닥부터 시작하는 딥러닝#Chapter2,52page (0) | 2019.10.30 |
밑바닥부터 시작하는 딥러닝#Chapter1,45page (0) | 2019.10.30 |