Development Artist

[COS Pro 1급, Python] 1차 6번 : 체스의 나이트 본문

Algorithm/COS

[COS Pro 1급, Python] 1차 6번 : 체스의 나이트

JMcunst 2022. 2. 24. 21:36
728x90
반응형

문제 유형

 코딩

난이도 (주관적인)

 easy

Note 

1. dx, dy로 나이트의 이동 경우를 고정하기. bfs에서 자주 쓰이는 방식인데, 원할한 순회를 위해 이런식으로 이동 값을 설정.

 

Code

# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean

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

def solution(pos):
    answer = 0
    start_row = int(pos[1])
    start_col = ord(pos[0])-65

    for i in range(var_N):
        now_row = start_row + dx[i]
        now_col = start_col + dy[i]

        if now_row in range(0,9) and now_col in range(0,9):
            answer += 1

    return answer

pos = 'A7'
ret = solution(pos)

print("solution 함수의 반환 값은", ret, "입니다.")

 

※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.

728x90
반응형
Comments