티스토리 뷰

import sys
n = sys.stdin.readline().strip()
count =0

#이동 조합 딕셔너리 생성
move_types = [(-2,-1), (-2, 1), (-1,2), (-1,-2), (1,-2), (1,2), (2,-1), (2,1)]

for i in move_types:
    #각 이동 연산하기 전 행렬 초기화
    col = ord(n[0])
    row = int(n[1])
	#열과 행에 이동 적용
    col+=i[0]
    row+=i[1]
    #열과 행이 주어진 범위에서 넘치지 않을 때만 이동가능 경우의 수 count +1
    if (col>=97 and col<=104) and (row>=1 and row<=8):
        count+=1

print(count)

 

피드백: 좌표=> 딕셔너리 생성으로 구현하자

+ 모범답안에서는 col= int(ord(n[0])) - int(ord('a')) +1로 정의해서 나중에 col>=97 and col<=104가 아니라 1~8로 비교하도록 했다.  

댓글