본문 바로가기

Study/Algorithm2

백준 단계별로 풀어보기!! - 브루트 포스 https://www.acmicpc.net/step/22 브루트 포스 단계 체스판을 만드는 모든 경우를 시도하여 최적의 방법을 찾는 문제 www.acmicpc.net 1. 브루트 포스(Brute Force)란? 전체 대입이란 말과 동의어로 쓰이며, 모든 경우의 수를 대입해보는 것을 말한다. 요컨대, 노가다인 것이다...!! Brute: 짐승(같은 자) Force: 힘이라는 뜻으로, 이 알고리즘은 예외 없이 100%의 정답률이 장점이다. 하지만, 모든 수를 대입하다보니 자연스레 발생하는 브루트 포스의 문제점은 시간이다. 조금만 정답의 범위가 넓어지거나 정답을 찾는데 제약이 걸리면 정답을 도출하기까지의 시간이 큰 단위로 늘어나는 것이다. 2. 브루트 포스로 블랙잭 구현하기! https://www.acmicp.. 2020. 7. 22.
백준 단계별로 풀어보기!! - 재귀(recursion) https://www.acmicpc.net/step/19 재귀 단계 피보나치 수 역시 단순 for문으로도 구할 수 있지만, 학습을 위해 재귀를 써 봅시다. www.acmicpc.net 1. 재귀란? 간단히 말해서 함수가 자기 자신을 호출하는 용법이다. 언듯보면 for문이나 while문과 동일하다고 볼수 있지만 재귀는 함수내에서 if문을 사용함으로써 그 차이점을 보인다. def CountNum(num): if num == 0: print("Count Finished!") else: print(num) CountNum(num - 1) print(CountNum(10)) 위에 예시를 보면 함수 내에서 자기 자신을 호출하여 사용하는 것을 볼 수 있다. 위의 코드를 실행하면 결과는 아래와 같다. 10 9 8 7 .. 2020. 7. 13.