[BOJ][C#] 1205 등수 구하기

LimJaeJun·2023년 11월 21일
0

PS/BOJ

목록 보기
43/108

📕 문제

📌 링크

📗 접근 방식

  • 주어진 점수를 비교하여 랭킹을 계산합니다.
    • 현재 참가자의 점수가 주어진 점수보다 크면 랭킹과 카운트를 증가
    • 현재 참가자의 점수가 주어진 점수와 같다면 카운트만 증가
    • 현재 참가자의 점수가 주어진 점수보다 작다면 반복을 종료
  • 만약 카운트가 p보다 크거나 같다면 -1을 출력, 그렇지 않으면 계산된 랭킹을 출력

📘 코드

using System.Text;

namespace BOJ_1205
{
    class Program
    {
        static void Main()
        {
            int rank = 1;
            int count = 0;
            int[] inputs = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
            int n = inputs[0];
            int score = inputs[1];
            int p = inputs[2];

            if (n == 0)
            {
                Console.WriteLine("1");

                return;
            }

            List<int> scores = Array.ConvertAll(Console.ReadLine().Split(), int.Parse).ToList();

            for (int i = 0; i < scores.Count; i++)
            {
                if (scores[i] > score)
                {
                    rank++;
                    count++;
                }
                else if (scores[i] == score)
                {
                    count++;
                }
                else
                {
                    break;
                }
            }

            Console.WriteLine(count >= p ? -1 : rank);
        }
    }
}

📙 오답노트

📒 알고리즘 분류

  • 구현
profile
Dreams Come True

0개의 댓글

관련 채용 정보