본문 바로가기

알고리즘 문제 리뷰

PCCE 후기 및 기출문제 리뷰

 

 학교에서 프로그래머스에서 제공하는 PCCE 시험을 무료로 응시하게 해주어서 한번 보고 왔다. 결과는 10문제중 한문제 틀렸다. 태어나서 처음 보는 코딩테스트였는데 나는 시간을 좀 천천히 두고 생각하는 편인지 시간이 넉넉한 느낌은 못 받았다.

  시험때 내가 틀렸던 문제를 리뷰하고 싶지만 아직 홈페이지에 문제가 게시지 않았다. 그래서 가장 최근의 기출문제를 풀어 본 코드를 게시하려고 한다.  문제는 다음과 같다. 인터넷에 PCCE 10번 공원이라고 치면 원본을 볼 수 있다.

https://programmers.co.kr/app/with_setting/tests/144739/challenges/algorithms/18250?original_token=662ad6549b53c829991c9dc34f7b499c

내가 짠 코드는 다음과 같다.

def solution(mats, park):
    mats = sorted(mats, reverse=True)  # 내림차순으로 정렬하여 가장 큰 돗자리부터 찾기
    print(mats)

    for mat in mats:
        for i in range(len(park) - mat + 1):  # park의 인덱스를 초과하여 수색하는 일이 없도록 함
            for j in range(len(park[0]) - mat + 1):
                isValid = True  
                for k in range(mat):
                    for l in range(mat):
                        if park[i + k][j + l] != "-1":  # "-1"과 비교
                            isValid = False
                            break
                    if not isValid:  # 더 이상 진행할 필요 없으면 탈출
                        break
                if isValid:  # 유효한 영역을 찾으면 바로 반환
                    return mat
    return -1  # 유효한 영역이 없으면 -1을 반환