m16khb   4년 전

논리에는 문제가 없을까요? 시간을 어떻게 하면 줄일수 있을까요?

kwang0e   4년 전

위에 방식대로 해주게 되면, 루프가 2개나 있는 draw를 계속해서 돌려주게 되기때문에, 시간초과가 뜰 가능성이 높아보입니다.

예를 들어, 위에 코드대로 할려면 N = 27 일 때, num 이 3 이 될려면, 27 ^ 2 로 세번 처리해줘야 되겠죠?

81이면 81 ^ 2 를 네 번 해줘야 되니, 기하급수적으로 증가하게 되네요.

저렇게 하지 않아도 한번에 처리하는 방법이 있습니다.

힌트를 드리자면, 배열을 사용하지 않아도 됩니다. 

draw함수 안에 있는 두개의 루프 안쪽의 i, j 를 이용해서, 3과의 연관관계를 통해 '*' 이나 ' ' 를 출력시킬 수 있을 것 같네요.


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