PS

백준 8981. 입력숫자

tose33 2022. 9. 12. 13:33

https://www.acmicpc.net/problem/8981

 

8981번: 입력숫자

첫 줄에는 정수 N이 제시되어 있고, 그 다음 줄에는 N개의 양의 정수가 빈칸을 사이에 두고 기록되어 있어야 한다. 만일 입력을 생성하는 mystery.c의 입력파일 X가 없는 경우에는 음수인 -1 을 첫 줄

www.acmicpc.net

 

mystery.c 의 로직은 다음과 같다. 

주어지는 배열 X가 다음과 같다면 X = {5 5 7 4 33 10 9 3 2 6}

 

1. 처음에 from=0이니 X[from]=5 출력하고 0으로 치환한다, value = 5 

2. from 을 value 만큼 우측 이동 시킨다 (이때 % 연산으로 배열 범위 벗어나면 조정해준다) 

3. 이동 시킨 from에 의해 X[from]의 값이 0이라면 즉 이미 출력한 자리라면 아닐때까지 우측 이동한다.

4. 1~3을 모든 값들이 출력할때까지 반복한다.

 

따라서 우리는 주어지는 결과 Y를 기반으로 배열 X를 채워나가면 된다.