📕 문제
📌 링크
![](https://velog.velcdn.com/images/wowns226/post/ac82d4b7-d117-4a02-8f5e-bae9ecd07987/image.png)
📗 접근 방식
- 주어진 점수를 비교하여 랭킹을 계산합니다.
- 현재 참가자의 점수가 주어진 점수보다 크면 랭킹과 카운트를 증가
- 현재 참가자의 점수가 주어진 점수와 같다면 카운트만 증가
- 현재 참가자의 점수가 주어진 점수보다 작다면 반복을 종료
- 만약 카운트가 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);
}
}
}
📙 오답노트
📒 알고리즘 분류