728x90
반응형
# 오늘의 문제
왕실의 나이트
난이도 하 | 풀이시간 20분 | 시간 제한 1초 | 메모리 제한 128m
# 나의 코드
#기본 사용할 변수들 세팅
n = input()
n = list(n)
# n을 a1 이런식으로 인풋을 받기 때문에 영어,숫자 로 받기 때문에 리스트로 바꿔서 첫번째 숫자
# 아스키 코드로 바꾼 후에 -96 해줘서 a -> 1 ~ h->8로 바꾸었다.
n[0] = int(ord(n[0])-96)
n[1] = int(n[1])
#기본으로 움직이는 경우의 수를 튜플을 리스트로 감싼 형태로 경우의수 만듦
move = [(2,1), (2,-1), (-2,1), (-2,-1), (1,2), (-1,2), (1,-2), (-1,-2)]
cnt = 0
#움직이는 경우의수를 루프돌리고
for i in move:
# 리스트 내 튜플길이(2) 만큼 루프 돌려서 0일때는 첫번째 리스트와 값 맞추고
# 1일때는 두번째 리스트와 값 맞춰서
for j in range(len(i)):
temp1 = n[0] + i[0]
temp2 = n[1] + i[1]
# 조건을 벗어나는 경우 세팅해서 그럴땐 무시하고
if temp1 < 1 or temp1 > 8 or temp2 < 1 or temp2 > 8:
continue
#아니면 카운트에 1 씩 더해서 경우의 수 모두 구하기
cnt += 1
print(cnt)
# 정답과의 비교
1. 이전에 풀었던 책의 상하좌우 코드에서 영감을 받아서 내 코드를 서술했기 때문에 해답 코드와 정말 비슷했다 그래서 생략
728x90
'프로그래밍 회고록 > Python' 카테고리의 다른 글
2021.11.13 코테_DFS 예시코드 (0) | 2021.11.13 |
---|---|
2021.10.27 코테_게임 개발 (0) | 2021.10.27 |
2021.10.25 코테_시각 (0) | 2021.10.25 |
2021.10.24 코테_상하좌우 (0) | 2021.10.24 |
2021.10.21 코테_1이 될 때까지 (0) | 2021.10.22 |