[BAEKJOON] 백준 31789: 모험의 시작 (C#)

2024. 8. 20. 23:47IT/BaekJoon

문제 링크

https://www.acmicpc.net/problem/31789

 

 

문제

PULSE를 떠나게 된 산지니 4인조는 저금통에 조금씩 모아둔 돈을 가지고 모험을 떠나기로 했다.

모험을 떠나기 위해서는 문지기 후안과의 대결에서 이겨야 한다. 문지기 후안을 이기려면 후안의 공격력보다 높은 무기를 가지고 있어야 한다. 그래서 4인조는 문지기 후안과 대결하기 전에 상점에서 무기를 구매하려고 한다. 4인조는 상점에서 판매하는 N개의 무기 중 하나만을 구매할 수 있으며 4인조가 가진 돈 X보다 비싼 무기는 구매할 수 없다. 산지니 4인조가 후안을 이기고 모험을 떠날 수 있을지 알아보자!

 

 

입력

첫 번째 줄에 상점에서 판매하는 무기의 수 N이 주어진다. (1≤N≤100)

두 번째 줄에 산지니 4인조가 가진 돈 X와 후안의 공격력 S가 공백으로 구분되어 주어진다. (1≤X,S≤10^9)

세 번째 줄부터 N+2번째 줄까지 i번째 무기의 가격 ci와 공격력 pi가 공백으로 구분되어 주어진다. (1≤ci,pi≤10^9)

주어지는 모든 수는 정수이다.

 

 

출력

모험을 떠날 수 있으면 YES, 떠날 수 없으면 NO를 출력한다.

 

 

 

통과한 답안

namespace _31789
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int N = int.Parse(Console.ReadLine());
            string[] inputs = Console.ReadLine().Split(' ');
            int X = int.Parse(inputs[0]);
            int S = int.Parse(inputs[1]);

            bool isStart = false;

            for (int i = 0; i < N; i++)
            {
                string[] data = Console.ReadLine().Split(' ');
                int price = int.Parse(data[0]);
                int power = int.Parse(data[1]);

                if (price <= X && power > S)
                {
                    isStart = true;
                    break;
                }
            }

            Console.WriteLine(isStart ? "YES" : "NO");
        }
    }
}

 

N개의 무기가 주어지고 가지고 있는 금액 X와 상대의 공격력 S가 주어지고

N개의 무기의 가격과 공격력이 주어졌을 때,

소지한 X로 상대의 공격력보다 공격력이 높은 무기를 구매할 수 있는지 찾는 문제이다.

 

bool을 선언한 뒤에 무기의 정보를 받아오면서 가격과 공격력을 저장하고

이 무기의 가격이 X 이하이면서 공격력이 S 초과인지 확인하여

조건을 만족시키면 입력받는 것을 종료하고 "YES"를 출력하도록 구현하였다.

만약 모든 무기 데이터를 받았지만 조건을 만족하지 않는다면 "NO"를 출력한다.