백준(12)
-
백준 4150 피보나치 수(c++)
https://www.acmicpc.net/problem/4150 4150번: 피보나치 수 피보나치 수열은 다음과 같이 그 전 두 항의 합으로 계산되는 수열이다. 첫 두 항은 1로 정의된다. f(1) = 1, f(2) = 1, f(n > 2) = f(n − 1) + f(n − 2) 정수를 입력받아, 그에 해당하는 피보나치 수를 출력 www.acmicpc.net 문제를 읽어보면 알 수 있듯이 숫자의 길이가 100자리가 넘어간다. 이런 문제는 long long int도 메모리 초과가 뜨기 때문에 어떻게 풀까? 고민해봐야 된다. 정답은 문자열string을 쓰면 되는데 문제를 풀 때 피보나치 수를 직접 적어보면서 코드를 어떻게 짤지 고민을 해봤다. //1 1 2 3 5 8 13 21 34 55 89 144 23..
2022.04.02 -
(C++) 백준 1111번 IQ Test
맨 처음에 DivisionByZero라는 런타임 에러가 떴다. 0으로 나눈 것이 없다고 생각했는데 자세히 보니 어디에서 런타임 에러가 뜨는지 확인했고, 빠르게 고쳐서 성공했다. 시간제한이 2초이다. 2초를 보고 오래 걸리는 문제인 거 같아서 바로 for문으로 푸는 방법을 생각해봤다. 부르트 포스처럼 하나하나 다 대입해서 모든 수를 만족하는 함수를 만드고 함수의 개수가 2개 이상이면 B 그렇지 않으면, 내가 만든 함수에 넣는 코드를 짜서 시간복잡도를 계산해보니 8억(8초)이 나오는 것을 확인했다. 다시 마음을 가다듬고 for 문을 푸는 문제가 아님을 직감하고, 어떻게 하면, 풀 수 있을지 고민했다. 일단 case를 나누어봤다. N의 수에 따른 case를 나누어 보겠다. N=1 무조건 A출력 답이 2개 이상..
2021.12.01 -
백준 다리놓기 1010 C++
우선 먼저 했던 코드부터 올려보자면 #include #include #include #pragma warning(disable:4996) using namespace std; int main() { int t = 0; cin >> t; for (int i = 0; i > a >> b; vector b_b; a = min(a, b-a); unsigned long long int sum = 1; for (int q = 1; q = 1; u--) { sum = sum * b; for (int k = 0; k < a; k++) { if (sum% b_b[k] == 0 && b_b[k] != 1) { sum = sum / b_b[k]; b_b[k] = 1; } } ..
2021.11.26 -
C++ 수학함수 #include <math>
2주 차에서는 앞으로 알고리즘 문제를 어떻게 접근해야 하는 수학적 지식?을 늘려줍니다. 많은 디테일과 기초지식과 오개념을 가지고 있다면 2주 차 수학 문제를 풀면서 오개념을 바로잡는 실력을 기르는 것을 목표로 2주차 스터디를 들으시면 감사하겠습니다. 아마도 밑에 나오는 문제들은 헤더 파일에 #include 나 #include 를 추가로 적어주시면 수학식을 풀어가는데 유용한 라이브러리를 사용할 수 있습니다. (루트 함수, 제곱, 제곱근, 삼각함수 등등 사용 가능) https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변..
2021.11.15 -
C++ 기본코드
# include using namespace std; int main() { int i = 0; cout > i; cout
2021.11.14 -
백준 1018 c++ 완전탐색(Brute-force Serch)
원래 티스토리 해보려고 했는데, 귀찮아서 시작 도안하다가 잔머리? 굴려서 푸는 문제 맞히면 기분 좋잖아요? 그래서 기분 좋아져서 시작해봄 완전 탐색, 브루트 포스(Brute-force)는 그냥 쉽게말해서 가능한 경우를 일일이 다 탐색하는 방법임 근데 브루트포스 문제들은 다 탐색하면 타임 에러가 뜨겠죠? 그래서 어떻게 시간을 최소화하는지에 따라서 문제를 맞히고, 틀리고 가 결정됨 여기 문제 보면 알 수 있는 것처럼 브루트 포스 문제는 시간제한이 있음(하나씩 다 검사하다가는 틀린다는 거) 그래서 어떻게 하면 다 대입안 하고, 시간초과 안하고 찾을 수 있을까? 고민해보니까 시작점만 잘 정하면 되겠다고 생각함(어차피 8X8을 구하는 거닌까) 그래서 시작점을 string크기에 따라서 잘 조절만 하면 할 수 있겠다..
2021.11.03