알고리즘(2)
-
[백준] 24313 - 알고리즘 수업 - 점근적 표기 1
Self-Solving접근단순하게 받아들여 문제를 $a_{1}n+a_{0} \leq c\times g(n)$ 중 $a_{1},a_{0},c,n_{0}$을 줄테니 이 조건에 부합하는 모든 n이 존재할 시 1을 출력하라고 해석하였다.그래서 별 생각 없이 $a_{1}n+a_{0}$ 값이 $cn$ 보다 작을 경우 성립한다고 출력하면 되겠다고 생각하였다.첫 번째 시도 if(a0*n0+a1 이렇게 하니 90% 정도 되다가 말았었다.두 번째 시도케이스를 너무 덜 시도 했나? 라고 생각했었다. n0 하나만 보고 모든 n이 맞다고 가정하기엔 무리가 있을거 같다고 생각했기 때문이다. 그래서 수학적 귀납법을 흉내내어 n+1도 성립이 되는지 확인해보았다.if(a0*n0+a1 역시 90% 정도 되다가 말았었다.세 번째 시..
2024.08.10 -
[백준] 1789 - 수들의 합
Self-Solving접근문제를 해석하자면 서로 다른 자연수의 합들이 S가 되는, 그 서로 다른 자연수들의 최대 개수를 묻는 듯 하다.서로 다른 자연수들의 합이 S가 되는 경우와 그 개수를 구하는 방법은 정말 무궁무진하게 많다. 하지만 '최대' 라는 수식어가 붙었다는 것에 문제 해결의 실마리가 보인다.자연수의 개수를 최대로 늘리는 건, 제일 작은 수, 즉 1부터 얼마까지의 숫자를 더한 뒤 남은 숫자를 한 번 더 더해주는 것이라고 생각하였다. 제일 작은 수부터 순차적으로 더하는 것이니 개수를 최대한 늘릴 수 있을 것이다. 그런데, 1~n까지 더한 후에 S까지 도달하기에 남은 값은 1~n까지의 포함되는 경우가 있다.ex: 20 -> 1~6까지의 합 : 15, 20-15 = 5, 이 5는 이전에 1~6까지의 ..
2024.08.08