The Way
백준 온라인 저지(BOJ) 1008번 문제https://www.acmicpc.net/problem/1008 1. 문제 요약두 수 A와 B를 입력받고 A/B를 출력. 절대/상대 오차는 10^-9까지 허용. 2. 알고리즘printf("%.9lf")를 써도 되지만, c++을 사용하는 사람답게 cout을 사용해보자.cout은 정확도를 아래 코드를 이용해 조절한다.cout.precision(15); 이는 정확도를 15자리까지 표시해준다는 의미이다.소숫점 아래 15자리가 아니고, 유효숫자 15개라는 것에 유의하자. 예컨대 이 문제에 해당하지는 않지만, 123456.78912345라는 숫자가 있을 때cout.precision(6)를 한 뒤 출력하면 123457로 나온다. 소숫점 아래 자리수를 정해주려면, cout >..
백준 온라인 저지(BOJ) 1004번 문제 https://www.acmicpc.net/problem/1004 1. 문제 요약 여러 원에 둘러쌓인 두 점이 있다. 한 점에서 다른 한 점으로 갈 때, 지나야 하는 경계의 최소 개수는? (원의 경계가 맞닿거나 교차하는 경우는 없다) 2. 알고리즘 원의 경계가 맞닿거나 교차하는 경우는 없다는 조건 때문에 문제풀이가 쉬워진다. 두 점이 i) 둘 다 원 안에 있다면 0번 ii) 둘 다 원 밖에 있다면 0번 iii) 둘 중 하나만 원 안에 있다면 1번 씩 더해주면 된다. 1002번과 마찬가지로 거리를 비교할 때 sqrt를 쓰지 않는 편이 이롭다. 3. 코드 #include int main() { int T; scanf("%d", &T); for (int i = 0; ..
백준 온라인 저지(BOJ) 1003번 문제https://www.acmicpc.net/problem/1003 1. 문제 요약주어진 코드로 피보나치 수를 구할 때, base case가 몇 번 호출되는지 구하기 2. 알고리즘2-1. 기본적인 생각전역 변수를 만들어서 해당 영역이 호출될 때마다 더해주면 간단하다.그런데 N이 40 정도 될 경우 1억 번 정도를 더하게 되는데, 시간 낭비가 상당하다. 2-2. 재귀적 성질 이용하기fibonacci(n) = fibonacci(n - 1) + fibonacci(n - 2)이므로1 이상의 n이라면 앞의 두 값을 더한 것과 같은 값을 갖는다. 이 성질을 이용하면 아주 빠르게 답을 구해낼 수 있다.조금만 생각해보면 fibonacci(n)을 실행했을 때 (n > 0일 때)re..