PS/Baekjoon Online Judge

[백준 1059] 좋은 구간 [C]

kimyoungrok 2021. 7. 31. 01:14
728x90

백준 - 1059


풀이

난이도에 비해 조금 까다로운 문제이다.

n을 포함하는 범위(min ~ max)를 알아낸 후, n을 포함하는 범위의 개수를 알아내야 한다.


소스코드

#include <stdio.h>
#include <stdlib.h>
int compare (const void *a, const void *b){
    int n1 = *(int*)a, n2 = *(int*)b;
    if (n1 < n2)
        return -1;
    else if (n1 > n2)
        return 1;
    return 0;
}
int main(){
    int L, n;
    scanf("%d", &L);
    int S[L];
    for(int i = 0; i < L; i++)
        scanf("%d", &S[i]);
    scanf("%d", &n);
    qsort(S, L, sizeof(int), compare);
	
    int max, min = 1, cnt = 0;
    for (int i = 0; i < L; i++){
        if (n <= S[i]){
            max = S[i];
            break;
        }
        min = S[i] + 1;
    }
    for(int i = min; i < max; i++)
        for(int j = i + 1; j < max; j++)
            if(i <= n && n <= j)
                cnt++;
				
    printf("%d", cnt);
}

출처

 

1059번: 좋은 구간

[9, 10], [9, 11], [9, 12], [10, 11], [10, 12]

www.acmicpc.net

728x90

'PS > Baekjoon Online Judge' 카테고리의 다른 글

[백준 10990] 별 찍기 - 15 [C]  (0) 2021.07.31
[백준 2523] 별 찍기 - 13 [C]  (0) 2021.07.31
[백준 7568] 덩치 [C]  (0) 2021.07.30
[백준 4949] 균형잡힌 세상 [C]  (0) 2021.07.29
[백준 2805] 나무 자르기 [C]  (0) 2021.07.29