#include <stdio.h>
int main()
{
int P, T, heights[20], steps;
scanf("%d", &P); // 테스트 케이스의 수 입력
for (int i = 0; i < P; i++) {
scanf("%d", &T); // 테스트 케이스 번호 입력
steps = 0; // 뒤로 물러난 걸음 수 초기화
// 아이들의 키 입력
for (int j = 0; j < 20; j++) {
scanf("%d", &heights[j]);
}
// 주어진 방법에 따라 뒤로 물러난 걸음 수 계산
for (int j = 1; j < 20; j++) {
int k = j;
while (k > 0 && heights[k] < heights[k - 1]) {
// 현재 아이의 키가 앞의 아이의 키보다 작으면 위치 교환
int temp = heights[k];
heights[k] = heights[k - 1];
heights[k - 1] = temp;
k--;
steps++;
}
}
// 결과 출력
printf("%d %d\n", T, steps);
}
return 0;
}
출처 : https://www.acmicpc.net/problem/10431
'코테 & 알고리즘 > 백준' 카테고리의 다른 글
[백준] 실버4. 균형잡힌 세상(4949번) (0) | 2023.11.01 |
---|---|
[백준] 실버1. 미로 탐색(2178번) (0) | 2023.10.15 |
[백준] 실버1. 그림(1926번) (0) | 2023.10.15 |
[백준] 브론즈2. 럭키 스트레이트(18406번) (1) | 2023.10.05 |
[백준] 브론즈5. 그대로 출력하기(11718번) (0) | 2023.10.05 |