1. Implementation (구현)
- 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정
- 구현유형
- 완전탐색 ; 모든 경우의 수를 주저 없이 다 계산하는 해결방법
- 시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차레대로 직접 수행
2. 상하좌우 / 왕실의 나이트
- 이동 유형이 구분되는 경우 'dx, dy 리스트' 또는 'steps' 변수를 선언하여 이동할 방향을 기록
- 행과 열의 형태가 정수형이 아닐 경우 등의 예외 처리에 대비 必
# dx, dy 리스트
dx = [0,0,-1,1]
dy = [-1,1,0,0]
move_types=['L','R','U','D']
# steps 리스트
steps = [(-2,-1),(-1,-2),(1,-2),(2,-1),(2,1),(1,2),(-1,2),(-2,1)]
# 행,열에 대한 변환 ord() : 아스키 코드 변환
x, y = ord(n[0])-96, int(n[1])
3. 게임 개발
- 메뉴얼 흐름에 따라 코드 구현하기 !
- 함수 적극 활용 必
# 방문한 위치를 저장하기 위한 맵을 생성하여 0으로 초기화
d = [[0]* m for _ in range(n)]
# 왼쪽으로 회전
def turn_left():
global direction
direction -=1
if direction == -1 :
direction = 3