Algorithm

[이코테] Chapter 04. 구현 학습 정리

아이디어를 코드로 바꾸는 구현

💡 KEY POINT
구현: 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정

모든 범위의 코딩 테스트 문제 유형을 포함하는 개념

이 책에서는 완전 탐색(모든 경우의 수를 주저없이 다 계산하는 해결 방법)과 시뮬레이션(문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행) 유형을 구현 유형으로 묶었다.

파이썬에서의 리스트 크기 제약
데이터의 개수(리스트의 길이) 메모리 사용량
1,000 약 4KB
1,000,000 약 4MB
10,000,000 약 40MB
파이썬으로 문제를 풀 때, 리스트를 여러 개 선언하고, 그 중에서 크기가 1,000만 이상인 리스트가 있다면 메모리 용량 제한으로 풀 수 없을 확률이 크다.

좌표에서 이동하는 경우, dx와 dy의 이동 방향 배열을 만들어두고 사용하는 것이 좋다.

 

[실전 문제] 왕실의 나이트

💡 KEY POINT
좌표 평면에서 이동하는 경우 이동 방향 배열을 만드는 것이 좋다.
한 번에 가로/세로 한 방향으로만 이동할 경우 dx, dy의 이동 방향 배열을 만드는 것이 좋지만, 한 번에 가로와 세로 같이 이동할 경우 이를 튜플로 묶어서 사용하면 편하다.

 

[실전 문제] 게임 개발

💡 KEY POINT
요구하는 내용을 성실하게 구현하도록 하자.
한 번에 가로/세로 한 방향으로 이동하는 경우이므로 dx, dy의 이동 방향 배열을 만들어 활용하자.
문제에서 요구하는 3가지 매뉴얼을 잘 읽고 모두 충족하는지 다시 한 번 확인한다.