Development Artist

[COS Pro 1급, Python] 3차 3번 : 비숍으로부터 도망쳐 본문

Algorithm/COS

[COS Pro 1급, Python] 3차 3번 : 비숍으로부터 도망쳐

JMcunst 2022. 2. 25. 12:12
728x90
반응형

문제 유형

 코딩

난이도

 hard

Note 

 1. bfs문제 유형. '순회'라는 개념. dxy : 비숍이 갈 수 있는 좌표를 설정.

 

Code

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

def solution(bishops):
	answer = 0
	
	dxy = [[1,1],[1,-1],[-1,1],[-1,-1]]
	
	field = [[0] * 8 for i in range(8)]
	
	for bis in bishops:
		x = ord(bis[0])-65
		y = int(bis[1])-1
		field[x][y] = 1
		
		for dx, dy in dxy:
			nx , ny = x, y
			
			while True:
				nx += dx
				ny += dy
				if nx >=8 or nx < 0 or ny >=8 or ny <0:
					break
				if field[nx][ny] == 0:
					field[nx][ny] = 1
				
	for i in range(8):
		for j in range(8):
			if not field[i][j]:
				answer += 1
	return answer

bishops1 = ["D5"]
ret1 = solution(bishops1)

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

bishops2 = ["D5", "E8", "G2"]
ret2 = solution(bishops2)

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

 

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

728x90
반응형
Comments