면책 조항 :이 질문에서 들었던 이야기는 전적으로 허구이며 소개를 제공하기위한 목적으로 만 고안되었습니다.
내 상사는 새로운 장난감 로봇을 얻었고 프로그래밍을 도와 주길 원합니다. 그는 간단한 화살표 명령을 입력하여 이동시킬 수 있기를 원합니다. 이 지시 사항은 다음과 같습니다 : ^ (앞으로 이동) <(왼쪽으로 회전) 및> (오른쪽으로 회전). 그러나 이제 로봇을 프로그래밍 했으므로 추가 기능이 필요합니다. 그는 내가 입력 한 화살표 시퀀스를 변환하기를 원하므로 로봇이 표시된 경로를 가져 가지 않고 원하는 경로로 이동합니다. 가능한. PP & CG 회원 여러분 께이 과제를 도와 주실 것을 부탁드립니다.
당신의 작업 :
화살표로 구성된 문자열을 가능한 빨리 입력으로 표시된 위치에 도달하는 문자열로 변환하는 프로그램 또는 함수를 작성하십시오. 앞뒤로 움직일 때까지 정확히 돌리는 데 시간이 걸립니다.
입력:
위에 표시된 바와 같이 일련의 화살표. 원하는 경우 화살표 대신 다른 문자를 사용할 수 있지만 답에 그 사실을 포함시켜야합니다. 모든 테스트 케이스는 화살표를 정상적으로 사용합니다.
산출:
로봇을 가능한 한 효율적으로 원하는 목적지로 안내하는 일련의 화살표 (또는 동등한 문자).
테스트 사례 :
제공된 솔루션은 가능성 일 뿐이며 다른 솔루션도 유효 할 수 있습니다.
>^<<^^>^^ -> ^^<^
^^^^>^^^^ -> ^^^^>^^^^
>>>^^^^^^ -> <^^^^^^
>^>^>^>^ -> (empty string)
^<^^<^^<^^^^ -> >^^>^
채점 :
로봇의 메모리는 제한되어 있으므로 프로그램의 바이트 수가 가장 적어야합니다.
^<^^<^^<^^^^
-> >^^>^
?