500error
[Cos Pro 1급, Python] 6차 1번 : 꽃피는 봄이 언제 오나요 본문
반응형
문제
n x n 크기 격자 모양 정원에 칸마다 핀 꽃 또는 피지 않은 꽃을 심었습니다. 이 정원의 꽃이 모두 피는 데 며칠이 걸리는지 알고 싶습니다. 핀 꽃은 하루가 지나면 앞, 뒤, 양옆 네 방향에 있는 꽃을 피웁니다.
정원 크기 n과 현재 정원의 상태를 담은 2차원 배열 garden이 주어졌을 때, 모든 꽃이 피는데 며칠이 걸리는지 return 하도록 solution 함수를 작성해주세요.
코드
def solution(n, garden):
answer = 0
a = -1
temp = []
dx = [1, 0, -1, 0]
dy = [0, 1, 0, -1]
while len(temp) < len(garden) ** 2:
temp.clear()
for i in range(len(garden)):
for j in range(len(garden)):
if garden[i][j] == 1:
temp.append([i, j])
for i in temp:
for j in range(4) :
x=i[0]+dx[j]
y=i[1]+dy[j]
if (x >= 0 and x < len(garden)) and (y >= 0 and y < len(garden)):
garden[x][y] = 1
answer += 1
return answer + a
n1 = 3
garden1 = [[0, 0, 0], [0, 1, 0], [0, 0, 0]]
ret1 = solution(n1, garden1)
print("solution 함수의 반환 값은", ret1, "입니다.")
n2 = 2
garden2 = [[1, 1], [1, 1]]
ret2 = solution(n2, garden2)
print("solution 함수의 반환 값은", ret2, "입니다.")
반응형
'알고리즘 > 파이썬' 카테고리의 다른 글
[Cos Pro 1급, Python] 6차 3번 : 큰수와 작은수의 차이 (0) | 2024.03.03 |
---|---|
[Cos Pro 1급, Python] 6차 2번 : 단어를 순서대로 적으세요 (0) | 2024.03.03 |
[Cos Pro 1급, Python] 5차 10번 : 계산기 만들기 (0) | 2024.03.02 |
[Cos Pro 1급, Python] 5차 9번 : 몇번 연산을 해야 하나요 (0) | 2024.03.02 |
[Cos Pro 1급, Python] 5차 8번 : 공약수 구하기 (0) | 2024.03.02 |
Comments