지난 포스팅에서 풀었던 상하좌우 알고리즘을 기초하여 풀었습니다.
이동할 수 있는 범위를 정해 놓고 좌표를 이동하면서 경우의 수를 체크하는것 입니다.
def move(p):
row = int(p[1])
column = int(ord(p[0])+1)-int(ord(p[0]))
steps = [(-2,-1),(-1,-2),(1,-2),(1,2),(2,-1),(2,1),(-1,2),(-2,1)]
result = 0
for step in steps:
next_row = row + step[0]
next_column = column + step[1]
if next_row >=1 and next_row <= 8 and next_column >= 1 and next_column <= 8:
result +=1
return result
'알고리즘 > leetcode&프로그래머스' 카테고리의 다른 글
leetCode1315. Sum of Nodes with Even-Valued Grandparent (0) | 2021.02.20 |
---|---|
빅오표기법 정리 - with JS (0) | 2021.02.12 |
구현 알고리즘 - 상하좌우 (0) | 2020.11.26 |
그리디 알고리즘 - 큰수의 법칙 (0) | 2020.11.25 |
소수 구하기 - 에라토스테네스의 체(응용하여 완전탐색 소수찾기 문제 풀기) (0) | 2020.11.23 |