직관적이지만 효율성이 낮은 코드 vs 난해하지만 주어진 문제를 효율적으로 해결하는 코드 ?

뭘 선택해야 할까?
>> 알고리즘 테스트는 문제를 어떻게든 테스트 케이스를 다 맞춰야하니까, 후자를 택하는 게 좋겠다.
하지만 깔끔하고 직관적인 코드를 놓치고 싶지 않다. 오류 잡기가 수월하니까.
그리고 멀리 본다면 직관이 좋은 코드가 좋다.
프로젝트에 참여했을 때 유지보수하기 좋고 다른 사람도 이해가 가능해야 하기 때문이다.
현재 일단 둘 다 신경 쓰면서 짜고 있다. 근데 신경쓰며 코드를 작성하니 시간이 오래걸린다.
이게 알고리즘 테스트를 준비하는 자세가 맞나?
>> 아니다. 둘 다 신경 써야하는 것은 맞지만 방법이 잘못되었다.
보완!
다음부터는 일단 통과하는 것에 초점을 두고 맞추고 나서 리펙토링하는 시간을 갖거나, 다른 코드를 보면서 수정 보완해야겠다.
알고리즘 시간 단축도 되고! 깔끔하고 직관적인 코드를 짤 연습도 할 수 있고!
< + !!! >
이 딜레마가 생기는 이유는 시간초과 때문이다.
효율성이 낮은 코드의 시간복잡도를 한번에 판단할 수 있다면 방향을 바로 잡을 수 있지 않을까?
시간복잡도를 판단하는 연습을 하자!
직관적이지만 효율성이 낮은 코드 vs 난해하지만 주어진 문제를 효율적으로 해결하는 코드 ?

뭘 선택해야 할까?
>> 알고리즘 테스트는 문제를 어떻게든 테스트 케이스를 다 맞춰야하니까, 후자를 택하는 게 좋겠다.
하지만 깔끔하고 직관적인 코드를 놓치고 싶지 않다. 오류 잡기가 수월하니까.
그리고 멀리 본다면 직관이 좋은 코드가 좋다.
프로젝트에 참여했을 때 유지보수하기 좋고 다른 사람도 이해가 가능해야 하기 때문이다.
현재 일단 둘 다 신경 쓰면서 짜고 있다. 근데 신경쓰며 코드를 작성하니 시간이 오래걸린다.
이게 알고리즘 테스트를 준비하는 자세가 맞나?
>> 아니다. 둘 다 신경 써야하는 것은 맞지만 방법이 잘못되었다.
보완!
다음부터는 일단 통과하는 것에 초점을 두고 맞추고 나서 리펙토링하는 시간을 갖거나, 다른 코드를 보면서 수정 보완해야겠다.
알고리즘 시간 단축도 되고! 깔끔하고 직관적인 코드를 짤 연습도 할 수 있고!
< + !!! >
이 딜레마가 생기는 이유는 시간초과 때문이다.
효율성이 낮은 코드의 시간복잡도를 한번에 판단할 수 있다면 방향을 바로 잡을 수 있지 않을까?
시간복잡도를 판단하는 연습을 하자!