반응형

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

 

5430번: AC

각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다.

www.acmicpc.net

 

#include <cstdio>

char func[100001], ch;
int t, n, arr[100000], s, e, f;

int main() {
	scanf("%d", &t);
	while (t--) {
		scanf("%s %d %c", func, &n, &ch);
		for (int i = 0; i < n && scanf("%d %c", &arr[i], &ch); i++);
		if (n == 0) scanf(" %c", &ch);
		s = 0, e = n - 1, f = 1;
		for (int i = 0; func[i] != '\0'; i++) {
			if (func[i] == 'R') f = !f;
			else {
				if (s > e) {
					s = -1;
					break;
				}
				if (f) s++;
				else e--;
			}
		}
		if (s == -1) printf("error\n");
		else if (n == 0 || s > e) printf("[]\n");
		else {
			printf("[%d", f ? arr[s] : arr[e]);
			if (f) {
				for (int i = s + 1; i <= e; i++) printf(",%d", arr[i]);
			}
			else {
				for (int i = e - 1; i >= s; i--) printf(",%d", arr[i]);
			}
			printf("]\n");
		}
	}
}
반응형

'Algorithm' 카테고리의 다른 글

백준 2493 : 탑  (0) 2021.11.14
백준 2504 : 괄호의 값  (0) 2021.11.14
백준 1406 : 에디터  (0) 2021.11.14
백준 11866 : 요세푸스 문제 0  (0) 2021.11.14
백준 10799 : 쇠막대기  (0) 2021.11.14

+ Recent posts