
중간 결과물 PPT (2)
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| 문제 설명 | solution.py |
| #118 코로나 바이러스 감염 예방을 위해 응시자들은 거리를 둬서 대기를 해야하는데 개발 직군 면접인 만큼 아래와 같은 규칙으로 대기실에 거리를 두고 앉도록 안내하고 있습니다. (1) 대기실은 5개이며, 각 대기실은 5x5 크기입니다. (2) 거리두기를 위하여 응시자들 끼리는 맨해튼 거리가 2 이하로 앉지 말아 주세요. (3) 단 응시자가 앉아있는 자리 사이가 파티션으로 막혀 있을 경우에는 허용합니다. 5개의 대기실을 본 죠르디는 각 대기실에서 응시자들이 거리두기를 잘 기키고 있는지 알고 싶어졌습니다. 자리에 앉아있는 응시자들의 정보와 대기실 구조를 대기실별로 담은 2차원 문자열 배열 places가 매개변수로 주어집니다. 각 대기실별로 거리두기를 지키고 있으면 1을, 한 명이라도 지키지 않고 있으면 0을 배열에 담아 return 하도록 solution 함수를 완성해 주세요. |
def check(place):
for irow, row in enumerate(place):
for icol, cell in enumerate(row):
if cell != 'P':
continue
if irow != 4 and place[irow + 1][icol] == 'P':
return 0
if icol != 4 and place[irow][icol + 1] == 'P':
return 0
if irow < 3 and place[irow + 2][icol] == 'P'
and place[irow + 1][icol] != 'X': return 0
if icol < 3 and place[irow][icol + 2] == 'P'
and place[irow][icol + 1] != 'X': return 0
if irow != 4 and icol != 4 and place[irow + 1][icol + 1] == 'P'
and (place[irow + 1][icol] != 'X' or place[irow][icol + 1] != 'X'): return 0
if irow != 4 and icol != 0 and place[irow + 1][icol - 1] == 'P'
and (place[irow + 1][icol] != 'X' or place[irow][icol - 1] != 'X'): return 0
return 1
def solution(places):
return [check(place) for place in places]
|
'내일배움캠프 QAQC 3기 > 최종 프로젝트' 카테고리의 다른 글
| 최종 프로젝트 13일차: [5] 데이터 전처리 기준 정제 (0) | 2026.01.15 |
|---|---|
| 최종 프로젝트 12일차: <실험 조직으로 거듭나기> (0) | 2026.01.14 |
| 최종 프로젝트 10일차: 중간 결과물 PPT (1) (0) | 2026.01.12 |
| 최종 프로젝트 9일차: [4] 모델링 파이프라인 (0) | 2026.01.09 |
| 최종 프로젝트 6일차: [3] EDA + Sliding Window (0) | 2026.01.06 |














