[이코테] 구현_왕실의 나이트 (python)

juyeon·2022년 6월 28일
0

문제

나의 풀이

1. 성공

data = input()
eng = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
num = [1, 2, 3, 4, 5, 6, 7, 8]

#열의 문자를 숫자로 변환하기
y = num[eng.index(data[0])] #열
x = int(data[1]) #행

count = 0

#이동할 수 있는 경우의 수 8가지
go = [(-1, -2), (1, -2), (-1, 2), (1, 2), (-2, -1), (-2, 1), (2, -1), (2, 1)]

for i in go:
    new_x = x + i[0] #이동한 지점 x
    new_y = y + i[1] #이동한 지점 y
    
	#범위 내에 있을 경우에만 카운트
    if new_x >= 1 and new_x <= 8 and new_y >= 1 and new_y <= 8:
        count += 1
        
print(count)

: 근데 코드리뷰 하다가 발견한 사실

y = num[eng.index(data[0])] #열

이 부분을..

y = eng.index(data[0]) + 1 #열

그냥 이렇게 해도 될듯. 어짜피 인덱스는 0부터 시작이고, num list도 1부터 시작이니까 그냥 인덱스 값 + 1 하면 될듯!

profile
내 인생의 주연

0개의 댓글