혜랑's STORY

[BOJ_C] 2748번, 2750번 본문

2021 SISS 21기 활동/겨울방학 C

[BOJ_C] 2748번, 2750번

hyerang0125 2021. 2. 1. 11:20

# BOJ 2748번 : 피보나치 수 2

 

- 풀이

#include <stdio.h>

int main(){
    int n;
    long long fibo[91];

    fibo[0] = 0;
    fibo[1] = 1;

    scanf("%d",&n);
    for(int i=2; i<=n; i++)
        fibo[i] = fibo[i-1] + fibo[i-2];
    
    printf("%lld", fibo[n]);
    
    return 0;
}

 

피보나치 수는 0과 1로 시작하고, n번째 피보나치 수(n>=2)는 n-1번째와 n-2번째 수의 합이라는 것을 알 수 있다. 따라서 2번째 피보나치 수를 구하기 위해서는 0번째와 1번재 수가 필요하기 때문에 둘에 미리 값을 넣어 주었다. 그 뒤, n번째 수가 될 때까지 n-1번째와 n-2번째 수를 더해주면 된다. 

이때, 주의해야 할 점은 90번째 값이 int 형의 범위를 넘어가기 때문에 범위가 더 큰 long long 형으로 지정해 주어야 한다는 점이었다.

 

- 실행결과

 

# BOJ 2750번 : 수 정렬하기

 

- 풀이

#include <stdio.h>
#include <stdlib.h>

int mySort(int x[], int n);
int main(){
    int n;
    scanf("%d",&n);

    int* numList = (int*)malloc(sizeof(int)*n);
    for(int i=0; i<n; i++)
        scanf("%d",&numList[i]);
    
    mySort(numList, n);
    for(int i=0; i<n; i++)
        printf("%d\n",numList[i]);

    return 0;
}

int mySort(int x[], int n){
    for(int i=0; i<n; i++){
        for(int j=0; j<n-1; j++){
            if(x[j]>x[j+1]){
                int temp = x[j];
                x[j] = x[j+1];
                x[j+1] = temp;
            }
        }
    }
}

 

오름차순으로 정렬하기 위하여 버블 정렬(Bubble Sort)를 사용하였다. 버블 정렬이란, 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘으로 인접한 2개의 값을 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환하는 방식이다. 

 

- 실행결과

'2021 SISS 21기 활동 > 겨울방학 C' 카테고리의 다른 글

[BOJ_C] 4673번, 16503번  (0) 2021.02.15
[BOJ_C] 1316번, 2869번  (0) 2021.02.08
[BOJ_C] 2941번, 2884번  (0) 2021.01.23
[BOJ_C] 1037번, 1712번  (0) 2021.01.18
[2021 겨울 C언어 2주차]  (0) 2021.01.14