Python/COS Pro 1급 Python 모의고사

[Programmers] 꽃피우기

꾸준함. 2022. 5. 11. 17:53

문제 링크입니다: https://programmers.co.kr/learn/courses/11133/lessons/71165

 

COS Pro 1급 Python 모의고사 - 꽃피우기

정사각형 크기 격자 모양 정원에 칸마다 핀 꽃 또는 피지 않은 꽃을 심었습니다. 이 정원의 꽃이 모두 피는 데 며칠이 걸리는지 알고 싶습니다. 핀 꽃은 하루가 지나면 앞, 뒤, 양옆 네 방향에 있

programmers.co.kr

회사에서 COS Pro 1급을 따면 상금을 준다고 해서 재미로 풀어봤습니다.

 

# 다음과 같이 import를 사용할 수 있습니다.
# import math
def isFull(garden):
length = len(garden)
for y in range(length):
for x in range(length):
if garden[y][x] == 0:
return False
return True
def getCopyGarden(garden):
length = len(garden)
copyGarden = [[0 for y in range(length)] for x in range(length)]
for y in range(length):
for x in range(length):
copyGarden[y][x] = garden[y][x]
return copyGarden
def solution(garden):
# 여기에 코드를 작성해주세요.
answer = 0
length = len(garden)
while not isFull(garden):
copyGarden = getCopyGarden(garden)
for y in range(length):
for x in range(length):
if copyGarden[y][x] == 0:
continue
if y != 0:
garden[y-1][x] = 1
if y != length - 1:
garden[y+1][x] = 1
if x != 0:
garden[y][x-1] = 1
if x != length - 1:
garden[y][x+1] = 1
answer = answer + 1
return answer
# 아래는 테스트케이스 출력을 해보기 위한 코드입니다.
garden1 = [[0, 0, 0], [0, 1, 0], [0, 0, 0]]
ret1 = solution(garden1)
# [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret1, "입니다.")
garden2 = [[1, 1], [1, 1]]
ret2 = solution(garden2)
# [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret2, "입니다.")
garden1 = [[0, 0, 0], [0, 0, 1], [0, 0, 0]]
ret3 = solution(garden1)
# [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
print("solution 함수의 반환 값은", ret3, "입니다.")
view raw .py hosted with ❤ by GitHub

 

개발환경: Programmers IDE

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'Python > COS Pro 1급 Python 모의고사' 카테고리의 다른 글

[Programmers] 메모장  (0) 2022.05.12
[Programmers] 숫자 뽑기  (0) 2022.05.11
[Programmers] 카드셔플  (0) 2022.05.11
[Programmers] 보드게임  (0) 2022.05.11
[Programmers] 종이접기  (0) 2022.05.11