1 분 소요

string.h 활용법

char a[100];

scanf(" %s",a);

int n = strlen(a); // "test" 입력
 -> n=4

int comp = strcmp(a, "test");
-> comp = 0 (0 아니면 다른 )

comparator 예시

#include<stdio.h>
#include<algorithm>

using namespace std;

bool comp(const int &a, const int &b)
{
    return a > b;// 내림차순의 경우. 오름차순은 기본값이라 comp함수가 필요 없으나, a < b로 부등호 방향을 바꿔주면 된다.
}

int a[11] = { 0,5,2,4,1,6,8,3,10,7,9 };
int n=10;

int main()
{
    int i;

    for (i = 1; i <= n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    sort(a + 1, a + 1 + n, comp);
    for (i = 1; i <= n; i++)
    {
        printf("%d ", a[i]);
    }

    return 0;
}

파스칼의 삼각형

#include<stdio.h>

int dp[1001][1001],n,m;

int main()
{
    int i,j;
    scanf("%d%d",&n,&m);

    dp[0][0]=1;
    for(i=1;i<=n;i++)
    {
        dp[i][0]=1;
        for(j=1;j<=i;j++)
        {
            dp[i][j] = dp[i-1][j-1]+dp[i-1][j];
            dp[i][j]%=10007;
        }
    }

    printf("%d",dp[n][m]);
    return 0;
}


#include<stdio.h>

int n, m;

int d[1001][1001];

int combination(int n, int k)
{
    if (k == 0 || n == k)return 1;
    if (d[n][k] != 0) return d[n][k];
    return d[n][k] = (combination(n - 1, k) + combination(n - 1, k - 1)) % 10007;
}

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

인접 리스트 sample code

#include<vector>
#include<stdio.h>

using namespace std;

int n, m;
int a, b;
//만약 가중치가 들어간다?
// vector<pair<int,int> > adjlist[320001];
vector<int> adjlist[32001];

int main()
{
    scanf("%d%d", &n, &m);
    for (int i = 1; i <= m; i++)
    {
        scanf("%d%d", &a, &b);
        // 방향성이 있는 그래프 a->b
        adjlist[a].push_back(b);
        // if 방향성이 없는 그래프. a->b b->a
        // adjlist[a].push_back(b);
        // adjlist[b].push_back(a);
    }

    for (int i = 1; i <= n; i++)
    {
        // indegree가 0인 정점 x
        int x=3;
        for (int j = 0; j < adjlist[x].size(); j++)
        {
            int y = adjlist[x][j];
        }
        for (int y : adjlist[x])
        {

        }
    }
    return 0;
}

‘25년 상반기 대학생 알고리즘 특강_3반(B201)

알고리즘 기초

image-20250216220713529

시간복잡도

image-20250216220735715

자료구조

image-20250216220746142

정수론

image-20250216220756780

조합론

image-20250216220805393

그래프1

image-20250216220814382

그래프2

image-20250216220823375

동적계획법1

image-20250216220831086

동적계획법2

(25.02.03~25.02.14)

image-20250216220611058

댓글남기기