본문 바로가기

카테고리 없음

C언어 2주차

 

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


int f(const void *a, const void *b) {
    return (*(char *)b - *(char *)a);
}

int main() {
    char N[11];  
    scanf("%s", N);  

    int len = strlen(N);

    qsort(N, len, sizeof(char), f);

    // 정렬된 결과 출력
    printf("%s\n", N);

    return 0;
}

1.문자들로 이루어진 숫자를 입력받는다.

2.길이를 확인한다.

3.qsort함수를 이용하여 배열을 정리한다. 

3-1.이때 문자로 이루어진 숫자를 비교하는 것 처럼 정리된다.

4.출력한다.

#include <stdio.h>
#include <string.h>

int main() {
    char S[1000001];  
    scanf("%s", S);   
    
    int count_0 = 0;   
    int count_1 = 0;   
    int len = strlen(S); 
    

    if (S[0] == '0') {
        count_0++;
    } else {
        count_1++;
    }
    
 
    for (int i = 1; i < len; i++) {
        if (S[i] != S[i - 1]) {
            if (S[i] == '0') {
                count_0++;
            } else {
                count_1++;
            }
        }
    }
    
    
    if (count_0 < count_1) {
        printf("%d\n", count_0);
    } else {
        printf("%d\n", count_1);
    }
    
    return 0;
}

1.scanf를 통해 비교할 문자를 입력받습니다. 

2.기준이 될 숫자를 정해 비교를 시작합니다. 

3.for문에서 순회 중 숫자가 달라지는 지 확인합니다. 

4.0과 1로 이루어진 덩어리 중 양이 더 적은 쪽을 출력합니다.