개발자 톡

연습문제 톡 [HSAT 2회 정기 코딩 인증평가 기출] 사물인식 최소 면적 산출 프로그램

[HSAT 2회 정기 코딩 인증평가 기출] 사물인식 최소 면적 산출 프로그램 | 코드 문제점 찾아주세요...

등록일
2023-07-05 00:59:30
조회수
493
작성자
three0330


def dfs(num, min_x, max_x, min_y, max_y):
    global minArea

    if num == k+1:
        minArea = min(minArea, (max_x-min_x) * (max_y-min_y)) 
        return

    for point in colors[num]:
        x, y = point[0], point[1]
        x1, x2 = min(min_x, x), max(max_x, x) #x1, x2는 직사각형의 왼쪽, 오른쪽 x좌표
        y1, y2 = min(min_y, y), max(max_y, y) #y1, y2는 직사각형의 아래, 위 y좌표
        if minArea > (x2-x1) * (y2-y1): #코드의 효율성을 위해서 조건을 충족할 때만 다음 단계로 넘어가기
            dfs(num+1, x1, x2, y1, y2)
    return


n, k = map(int, input().split()) #n개의 입력, k개의 색
colors = [[] for _ in range(k+1)]

for _ in range(n):
    x, y, k = map(int, input().split())
    colors[k].append([x, y]) #colors list에 x,y좌표들 저장

minArea = 2000 * 2000 #이게 Area가 가질 수 있는 가장 큰 값
dfs(1, 1000, -1000, 1000, -1000)
print(minArea)


안녕하세요, 해당 문제의 유튜브 풀이 영상

[SOFTEER] HSAT 2회 정기 코딩 인증평가 해설 - 사물인식 최소 면적 산출 프로그램????? - YouTube

이 영상과 코드를 똑같이 구현했는데, 틀렸다고 나오네요.. 혹시 코드의 문제점 찾아주실 수 있으실까요 ㅠㅠ

#[hsat_2회_정기_코딩_인증평가_기출]_사물인식_최소_면적_산출_프로그램
#python
#사물인식최소면적산출프로그램

이 카테고리의 톡 더보기