새소식

알고리즘/문제

[BOJ/백준 - 5430] AC

  • -

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

 

5430번: AC

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

www.acmicpc.net



문제는 어렵진 않은거 같은데 입력부분에서 애먹었다. 

아니 왜 while문 안빠져나가짐 ;;

 

여튼 방법은

 

1. 입력받아서 값 세팅

  1-1. D의 갯수가 배열의 사이즈보다 크다면 error출력 후 다음 루프 이동

  1-2. D의 갯수가 0이면서 배열의 사이즈가 0일 경우 (혹은 배열입력이 "[]") "[]"출력 후 다음 루프 이동

 

2. 배열의 양 끝에 위치를 가리키는 인덱스변수,

   R에 의해서 정방향으로 이동하고 있는지, 역방향으로 이동하고 있는지를 표시하는 변수를 세팅

 

3. 명령어부분을 차례대로 읽어가면서

   R일 경우   정방향 <-> 역방향 전환

   D일 경우 정방향이면 시작 인덱스변수를 1올림

                역방향이면 끝 인덱스변수를 1 내림

 

4. 진행방향을 확인하여 해당 시작(끝)인덱스부터 끝(시작) 인덱스까지 출력한다

   출력 형식에 맞춰서. 

 

 

while문이 안빠져나갔던거는 1-2 부분을 처리 안해서 그랬던거같은데... 정확히는 잘 모르겠음

풀고나서 다른사람들 풀이도 확인하니 대부분 이런 형식이였던거 같다.

배열 말고 덱을 쓰던가 해서 다들 풀으셨던거 같음.

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.