728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42587
소스코드
using System;
using System.Linq;
using System.Collections.Generic;
public class Solution
{
public int solution(int[] priorities, int location)
{
int answer = 0;
Queue<(int, int)> q = new Queue<(int, int)>();
for (int i = 0; i < priorities.Length; i++)
q.Enqueue((i, priorities[i]));
Queue<int> maxs = new Queue<int>();
var dis = priorities.OrderByDescending(o => o).ToArray();
for (int i = 0; i < dis.Length; i++)
maxs.Enqueue(dis[i]);
int max = maxs.Dequeue();
while (q.Count() > 0)
{
var item = q.Dequeue();
if (item.Item2 < max)
{
q.Enqueue(item);
}
else if (item.Item1 == location)
{
answer++;
break;
}
else
{
answer++;
}
if (item.Item2 == max)
max = maxs.Dequeue();
}
return answer;
}
}
728x90
'코딩공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]Lv.2 기능개발C# (0) | 2023.08.01 |
---|---|
※[프로그래머스]Lv.2 가장 큰 수C#(문자열 CompareTo 정렬, 시간복잡도 오류) (0) | 2023.08.01 |
[프로그래머스]Lv.2 큰 수 만들기C# (0) | 2023.08.01 |
※[프로그래머스]Lv.2 타겟 넘버C# (0) | 2023.08.01 |
[프로그래머스]Lv.2 스킬트리C# (0) | 2023.07.31 |