2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

프로그래밍언어문법/실력키우기문제

2461 : 공주님의 정원 - 연습문제

원당컴퓨터학원 2021. 6. 27. 15:49
반응형

연습문제1) 다음과 같이 숫자의 범위가 주어지면 그 수가 1부터 시작해서 어디까지 이어지는지 판단을 하시오.

입력형식은 처음 n 이 나오고

그 다음 n개의 줄에 범위의 시작 위치와 끝 위치가 나옵니다.

단 n의 범위는 1~100000 사이

 

입력예)

4

1 10

10 20

20 30

30 40

 

출력 예)

40

 

입력예)

4

10 30

1 20

50 90

10 15

 

출력예)

30

 

더보기
#include <iostream>
#include <cmath>
#include <queue>
#include <algorithm>

using namespace std;

struct data{
    int s,e;
};

struct data D[100010];
int n;

bool cmp(struct data l, struct data r)
{
    return l.s < r.s;
}

int main()
{

    cin >> n;
    for(int i=0;i<n;i++) cin >> D[i].s >> D[i].e;
    sort(D,D+n,cmp);
    int start = 1;
    int last = 1;
    for(int i=0;i<n;i++)
    {
        start = D[i].s;
        if(start<=last)
        {
            ///연결이 된다.
            last = max(last, D[i].e);
        }
        else{
            ///연결이 되지 않는다.
            break;
        }
    }
    cout <<last;

    return 0;
}

 

연습문제2) 다음과 같이 숫자의 범위가 주어지면 그 수가 20 부터 시작해서 어디까지 이어지는지 판단을 하시오.

입력형식은 처음 n 이 나오고

그 다음 n개의 줄에 범위의 시작 위치와 끝 위치가 나옵니다.

단 n의 범위는 1~100000 사이

 

입력예)

4

1 10

10 20

20 30

30 40

 

출력 예)

40

 

입력예)

4

10 30

1 20

50 90

10 15

 

출력예)

30

 

연습문제3) 다음과 같이 숫자의 범위가 주어지면 그 수가 20 부터 시작해서 90 까지 최소 갯수의 구간을 선택해서 연결할 수 있는지 판단하시오. 만약 연결 되지 않는다고 하면 -1 을 출력하시오.

입력형식은 처음 n 이 나오고

그 다음 n개의 줄에 범위의 시작 위치와 끝 위치가 나옵니다.

단 n의 범위는 1~100000 사이

 

입력예)

4

1 30

10 20

30 90

20 90

 

출력 예)

1

 

입력예)

4

10 30

1 20

50 90

10 15

 

출력예)

-1

 

반응형