문제 링크입니다: https://programmers.co.kr/learn/courses/11133/lessons/71165
COS Pro 1급 Python 모의고사 - 꽃피우기
정사각형 크기 격자 모양 정원에 칸마다 핀 꽃 또는 피지 않은 꽃을 심었습니다. 이 정원의 꽃이 모두 피는 데 며칠이 걸리는지 알고 싶습니다. 핀 꽃은 하루가 지나면 앞, 뒤, 양옆 네 방향에 있
programmers.co.kr
회사에서 COS Pro 1급을 따면 상금을 준다고 해서 재미로 풀어봤습니다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 다음과 같이 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, "입니다.") |

개발환경: 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 |