알고리즘 문제 풀이/이코테

[이코테] CH04 구현 실전문제 2번 왕실의 나이트

파란색 가운 2023. 11. 22. 16:55

꽤 쉬운 문제였다

이제 할 줄 알아야 하는건 파이썬에서 a를 0부터 시작 , b가 1 

문자 -> 숫자 아스키코드 변환은 ord('a') 하면 97이 나온다

그래서 ord(elem[0]) - 97 해주면 a가 0 , b가 1 이렇게 추출할 수 있었다.

import sys
# sys.stdin.readline()
from collections import deque
sys.setrecursionlimit(100000000)
import heapq
INF = 1e9

def findroad():
    row = ord(elem[0])
    row -= 97
    col = int(elem[1]) - 1
    count = 0
    for i in range(8):
        nx = row + dx[i]
        ny = col + dy[i]
        if nx > 8 or ny > 8 or nx<0 or ny<0 :
            continue
        count +=1
    return count

dx = [-1,1,-1,1,2,2,-2,-2]
dy = [2,2,-2,-2,1,-1,1,-1]

elem = input()
print(findroad())