18241번 - 문자열 게임
우선 풀이는 이렇습니다.
1) 덱 3개를 준비함
deq, l_deq, r_deq
2) 문자열 S를 deq에 옮겨담음
3) L명령이 주어진 경우
l_find(l_deq, deq, w)함수 호출
deq의 앞 원소부터 차례대로 l_deq에 옮겨담음
이때 l_deq에 W가 있는지를 확인하고 W를 l_deq에서 없앰 -> R명령의 경우도 마찬가지..
4) R L 명령이 반복되다보면 결국 deq은 비어있게 되는데 이 경우에는 l_find(l_deq, r_deq, w)와 r_find(l_deq, r_deq, w)함수를 호출
5) 모든 명령이 종료되면 최종적으로 모든 덱들에 w가 들어있는지 확인한 후 결과값 출력.
근데 이렇게 풀면 9퍼센트 대에서 시간초과가 발생합니다.. 문제가 덱을 이용하는 풀이인데.. 덱들 사이에서의 원소 이동을 이보다 더 줄일 방법이 있을까요 ㅠㅠ 이것만 며칠째 고민하는지 모르겠습니다.. 10번가까이 제출하고 계속 실패하니깐 미칠것같네요 ㅠㅠ
댓글을 작성하려면 로그인해야 합니다.
samgkgkgk 2년 전
우선 풀이는 이렇습니다.
1) 덱 3개를 준비함
deq, l_deq, r_deq
2) 문자열 S를 deq에 옮겨담음
3) L명령이 주어진 경우
l_find(l_deq, deq, w)함수 호출
deq의 앞 원소부터 차례대로 l_deq에 옮겨담음
이때 l_deq에 W가 있는지를 확인하고 W를 l_deq에서 없앰 -> R명령의 경우도 마찬가지..
4) R L 명령이 반복되다보면 결국 deq은 비어있게 되는데 이 경우에는 l_find(l_deq, r_deq, w)와 r_find(l_deq, r_deq, w)함수를 호출
5) 모든 명령이 종료되면 최종적으로 모든 덱들에 w가 들어있는지 확인한 후 결과값 출력.
근데 이렇게 풀면 9퍼센트 대에서 시간초과가 발생합니다.. 문제가 덱을 이용하는 풀이인데.. 덱들 사이에서의 원소 이동을 이보다 더 줄일 방법이 있을까요 ㅠㅠ 이것만 며칠째 고민하는지 모르겠습니다.. 10번가까이 제출하고 계속 실패하니깐 미칠것같네요 ㅠㅠ