import math
def check(place, p1,p2) :
y1, x1 = p1
y2, x2 = p2
if x1 == x2 :
if y2 - y1 > 2 :
return True
if place[y2-1][x1] == 'X' :
return True
return False
elif y1 == y2 :
if x2 - x1 > 2 :
return True
elif place[y1][x2-1] == 'X' :
return True
return False
else :
if abs(x2-x1) + y2-y1 > 2:
return True
if place[y1][x2] == 'X' and place[y2][x1] == 'X' :
return True
return False
def solution(places):
answer = []
for place in places :
pos = []
for y in range(5) :
for x in range(5) :
if place[y][x] == 'P' :
pos.append([y,x])
flag = True
for i in range(len(pos)-1) :
for j in range(i+1,len(pos)) :
if not check(place, pos[i],pos[j]) :
answer.append(0)
flag = False
break
if not flag :
break
if flag :
answer.append(1)
return answer
아침에 비몽사몽 푼 문제. 한방에 풀어서 잠깼다 ㅋㅋㅋㅋㅋ 조건체크를 많이 넣었는데 이렇게 단순하게 푸는게 맞나 싶다
'컴퓨터 > 코테' 카테고리의 다른 글
카카오 2021 기출 - 합승 택시요금 [워셜 플로이드] (0) | 2021.08.23 |
---|---|
백준 11559 [bfs] (0) | 2021.08.18 |
프로그래머스 - 테두리 회전하기 (0) | 2021.08.14 |
프로그래머스 - 징검다리 (바위 부수기) (0) | 2021.08.12 |
릿코드 5 - Longest Palindromic Substring (0) | 2021.08.12 |