[TIPS] 시뮬레이션 문제와 설계

yongkini ·2021년 9월 3일
0

TIPS

목록 보기
2/2

시뮬레이션 문제와 설계?

  • 모든 문제를(코딩테스트) 풀 때는 '설계'단계가 가장 중요하다. 설계를 대충하고 바로 구현으로 들어가면 화면상에 타이핑되는 코드는 빠르게 완성되어가는 것처럼 보일지 몰라도, 결국 정답과 근접한 코드는 아닐 수 있다.
  • 따라서 차라리 시간이 좀더 걸릴지라도, 문제의 정답과, 그것을 어떻게 구현할지를 '설계' 단계에서 100% 완성한 다음에 코드 타이핑은 단지 정답을 제출하기 위한 용도라고 생각하자.
  • 실제로 설계 단계에서 구현할 때 어떤 문법을 써서 해당 부분을 구현할지 까지 설계해두면 실제 구현을 할 때 헷갈릴 일도 없고, 변수 등까지 정해두고 시작하는 것이 좋다.
  • 문제 중에서도 '시뮬레이션' 유형을 풀 때 설계가 유난히 더 중요한데, 시뮬레이션 문제는 일단 문제가 요구하는 일종의 세계관(?)이 굉장히 크다. 하나의 알고리즘을 알고 있다고 해서 풀리는 문제 유형이 아닌 일단 문제가 요구하는 행위(?)를 머리속으로 컴퓨터에게 어떻게 명령을 내릴지가 그려져야하고, 그 명령을 할 수 있다는 전제하에 좀 더 효율적인 알고리즘을 떠올리는 것이 관건인 문제이다.
  • 따라서, 시뮬레이션 문제를 풀 때는 정말 세밀한 부분까지 '설계'를 해두는 것이 좋다.
  • 마지막으로, 개인적인 생각이지만 시뮬레이션 문제는 '한번에' 정답을 맞추는게 맞는 것 같다. 모든 문제가 마찬가지일지는 모르지만, 만약 설계를 모두 한 뒤에 코드를 타이핑해서 테스트 케이스를 돌려봤는데, 결과가 원하는 결과가 아니라면, 그 방대한 설계를 다시 훑어봐야하는 상황이 오고, 실제 코딩테스트라면 일명 '멘붕'에 빠질 가능성이 높다.. 그래서 웬만하면 시간을 좀더 써서라도 완벽주의적 설계를 체화시키자.
profile
완벽함 보다는 최선의 결과를 위해 끊임없이 노력하는 개발자

0개의 댓글