728x90
풀이
우선 Test Case를 입력받아 Queue에 저장하고, 최댓값을 찾았을 때의 index가 입력받은 M과 일치하기 전까지 최댓값을 제거하고, cnt를 증가시켜주는 방식으로 풀이했다.
소스코드
#include <stdio.h>
int main(){
int T, N, M;
scanf("%d", &T);
while (T--){
scanf("%d %d", &N, &M);
int queue[N], idx = 0, cnt = 1;
for (int i = 0; i < N; i++)
scanf("%d", &queue[i]);
while (1){
int max = 0;
for (int j = 0; j < N; j++)
max < queue[j] && (max = queue[j]);
while (queue[idx] != max) idx = (idx+1) % N;
if (idx == M) break;
cnt++;
queue[idx] = -1;
}
printf("%d\n", cnt);
}
}
출처
728x90
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 01016] 제곱 ㄴㄴ 수 [C] (0) | 2021.07.29 |
---|---|
[백준 2108] 통계학 [C] (0) | 2021.07.28 |
[백준 1904] 01타일 [C] (0) | 2021.07.28 |
[백준 1929] 소수 구하기 [C] (0) | 2021.07.28 |
[백준 1874] 스택 수열 [C] (0) | 2021.07.28 |