Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

파란색가운의 개발 블로그

Chapter 4.구현 / 실전 문제 왕실의 나이트 본문

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

Chapter 4.구현 / 실전 문제 왕실의 나이트

파란색 가운 2023. 9. 29. 17:11
import sys
# sys.stdin.readline()
from collections import deque
sys.setrecursionlimit(100000000)
import heapq
INF = int(1e9)

command = input()
index = 1
idx = 1
array = ['a','b','c','d','e','f','g','h']
for elem in array:
    if array == command[0]:
        index = idx
    idx+=1

x = idx
y = int(command[1])
count = 0
move_types = [(2,1),(2,-1),(-2,-1),(-2,1),(1,2),(-1,2),(1,-2),(-1,-2)]
for move in move_types:
    dx = x + move[0]
    dy = y + move[1]
    if dx > 8 or dy > 8 or dx < 1 or dy < 1:
        continue
    count+=1

print(count)

저는 for문을 써서 했지만 이건 케이스가 8개밖에 없어서 할 수 있었던 거고..

원래는 이 코드를 써야 한대요

column = int(ord(input_data[0]) - int(ord('a') + 1
ord가 문자열을 아스키코드의 int값으로 대응시켜주는 함수네요
유용하게 쓰일 것 같으니 기억하기!(예전에 분명 공부했지만 또 까먹음

C언어의 노예로 2년간 살았고.. 파이썬은 거의 독학으로 한 거라

중간중간 빵꾸를 메꾸는게 중요할 것 같습니다

예전에 썼었던 것 같기도 한데

연휴동안 이코테 한번 다시 보는게 목표예요(예전에 1회독 다 했는데 진짜 하~나도 기억 안 남)