Deff_Dev
[백준] 1138번 한 줄로 서기 (C++) 본문
문제
https://www.acmicpc.net/problem/1138
풀이
이 문제는 그리디/구현 문제로, 입력과 동시에 최적의 해를 찾아 순서를 배치한다.
2 1 1 0이 입력됐다면,
- 2 입력, 0을 두 번 건너 뜀 ▶ 0 0 2 0
- 1 입력, 0을 한 번 건너 뜀 ▶ 0 1 2 0
- 1 입력, 0을 한 번 건너 뜀 ▶ 0 1 2 3
- 0 입력, 0을 건너 뛰지 않음 ▶ 4 1 2 3
#include <iostream>
// https://www.acmicpc.net/problem/1138
using namespace std;
int main() {
int n, p;
int arr[11] = { 0, };
cin >> n;
for (int i = 0; i < n; i++) {
cin >> p;
int count = p;
for (int j = 0; j < n; j++) {
if (count == 0 && arr[j] == 0) {
arr[j] = i + 1;
break;
}
if (arr[j] == 0) {
count--;
}
}
}
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
'코딩테스트 > 백준' 카테고리의 다른 글
[백준] 경쟁적 전염 (C++) (0) | 2024.08.27 |
---|---|
[백준] 2563번 색종이 (C++) (0) | 2024.08.26 |
[백준] 1012번 유기농 배추 (0) | 2024.08.16 |
[백준] 7576번 토마토 (0) | 2024.08.15 |
[백준] 2667번 단지 번호 붙이기 (0) | 2024.06.02 |