[C++]백준1138번 한 줄로 서기

less than 1 minute read

오늘은 백준1138번 한 줄로 서기 문제를 풀어보도록 하자.

문제가 잘 이해되지 않았지만 몇 번을 읽어보는 노력 끝에 결국 이해했다 ㅋㅋ..

책을 좀 읽어야 겠다..

문제는 다음과 같다.

                               [접근법]

  1. 키가 1부터 정렬되어 있는 순으로 왼쪽에 자기보다 큰 사람이 몇 명 있는지 입력을 받는다.

  2. 따라서 본인보다 키가 큰 사람을 지나치면서 자신의 자리를 찾아가면 된다.
                                     [코드]
#include <iostream>
using namespace std;

int line[10];
int people, long_person;

int main() {
	cin >> people;

	for (int i = 1; i <= people; i++) {
		cin >> long_person;
		
		for (int j = 0; j < people; j++) {
			if (long_person == 0 && line[j] == 0) {
				line[j] = i;
				break;
			}
			else if(line[j] != 0){
				continue;
			}
			else {
				long_person--;
			}
		}
	}
	for (int i = 0; i < people; i++) {
		cout << line[i] << ' ';
	}
}