seok9211   4년 전

test case 는 잘 동작합니다.

주석 부분 아래의 사용하는 배열이나 변수 값들에 대한 초기화가 잘못된것같아서 발생하는 것 같은데

어디를 수정하면 될까요?

추가적으로 bfs 에서 계속 반복문을 통해 초기화를 해주고 있는데 이것보다 더 효율적인 방법이 있다면 알려주시면 감사하겠습니다.

djm03178   4년 전

예제는 test case라고 하지 않고 sample case라고 합니다. test case는 프로그램에 넣을 수 있는 모든 종류의 입력을 포함하는 말이고, 이는 채점 데이터도 해당됩니다. 채점 데이터가 어떤 test case를 넣었는데 런타임 에러가 났으니 test case가 잘 동작한다는 말은 그를 정면으로 불인정하는 말입니다.

이 부분이 전혀 처리되지 않은 것 같습니다.

"S: S 는 n에서 1 을 뺀 결과 n-1을 레지스터에 저장한다. n이 0 이라면 9999 가 대신 레지스터에 저장된다."

그리고 이 코드에서는 초기화를 따로 할 필요가 없습니다. countt, pass, command가 모두 지역 변수이기 때문에 어차피 루프가 돌 때마다 지워지고 새로 만들어지는 변수들이기 때문입니다.

seok9211   4년 전

@djm03178

답변 감사합니다.

수정해서 제출했더니 통과는했지만, 제한시간 6초여서 통과한 것 같습니다.

방금 코드에서 말씀해주신 부분만 조건문 추가해서 구현했는데, 혹시 시간을 확 절약할 방법이 있다면 방법을 알려주시면 감사하겠습니다;

구현에 익숙하지 않아 조금 구체적으로 설명해주시면 감사하겠습니다(몇번라인을 고쳐야한다 라던가..)

djm03178   4년 전

string은 기본적으로 무겁고, 매 수마다의 명령어 전체를 각각의 string에 전부 담는 건 더욱 무겁습니다.

이를 보다 가볍게 만들려면, 각 수를 만들기 위한 명령어를 통째로 저장하지 말고, 그 수를 만들기 직전의 수가 무엇이고, 그 때 어떤 명령을 했는지 한 글자만을 char에 저장해둔 뒤, 답을 찾은 후 이를 역추적해서 전체 명령어를 만들어내는 식으로 할 수 있습니다.

댓글을 작성하려면 로그인해야 합니다.