210507_TIL

hyeojung·2021년 5월 7일
0

TIL

목록 보기
42/62
post-thumbnail
post-custom-banner

백준 알고리즘 1003번 : 피보나치 함수

#include <stdio.h>

void fibo(int n)
{
	int fib[41][2] = { 0 };
	int i;

	fib[0][0] = 1;
	fib[1][1] = 1;
	i = 1;
	while (++i <= n)
	{
		fib[i][0] = fib[i - 1][0] + fib[i - 2][0];
		fib[i][1] = fib[i - 1][1] + fib[i - 2][1];
	}
	printf("%d %d \n", fib[n][0], fib[n][1]);
}

int main(void)
{
	int test;
	int n;
	scanf("%d", &test);

	for (int i = 0; i < test; i++)
	{
		scanf("%d", &n);
		fibo(n);
	}
	return 0;
}


백준 알고리즘 1904번 : 01타일

#include <stdio.h>

int tile(int n)
{
	int bef = 1, aft = 2, ret = 0;
	int i = 2;

	if (n == 1)
		return bef;
	if (n == 2)
		return aft;
	while (++i <= n)
	{
		ret = (bef + aft) % 15746;
		bef = aft;
		aft = ret;
	}
	return (ret);
}

int main(void)
{
	int n;
	
	scanf("%d", &n);
	printf("%d", tile(n));
	return 0;
}


백준 알고리즘 1932번 : 정수 삼각형

#include <stdio.h>

int tri[500][500];

int maximum(int n)
{
	int max = 0;
	printf("%d\n", tri[0][0]);
	for (int i = 1; i < n; i++)
	{
		for (int j = 0; j <= i; j++)
		{
			if (j == 0)
				tri[i][0] += tri[i - 1][0];
			else if (j == i)
				tri[i][i] += tri[i - 1][i - 1];
			else
				tri[i][j] += (tri[i - 1][j - 1] >= tri[i - 1][j]) ? tri[i - 1][j - 1] : tri[i - 1][j];
			printf("%d ", tri[i][j]);
		}
		printf("\n");
	}
	for (int idx = 0; idx < n; idx++)
		if (tri[n - 1][idx] > max)
		{
			max = tri[n - 1][idx];
			printf("max: %d\n", max);
		}
	return (max);
}

int main(void)
{
	int n;
	
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
		for (int j = 0; j <= i; j++)
			scanf("%d", &tri[i][j]);
	printf("%d", maximum(n));
}


profile
응애 나 애기 개발자
post-custom-banner

0개의 댓글