본문 바로가기

프로그래밍 회고록/Python

2021.10.25 코테_왕실의 나이트

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