본문 바로가기
알고리즘/프로그래머스

PCCE 치고나서 느낀 점(멸...망....흑흑)

by 개발하는 호랑이 2024. 2. 18.

PCCE 후기

방금 PCCE 시험을 치고 왔다.

기출문제랑 모의고사에선 음. 이 정도면 당연히 lv4는 그냥 맞겠군 했는데,,,,

직접 맞닥드리니 아니었다.

우선 캠으로 하다보니, 중간에 뭐가 문제였는진 몰라도 화면 공유와 캠이 제대로 작동을 안 해서, 그것 재설정한다고 시간이 몇 분 빼먹었다.

그리고 디버깅 난이도가 왜 어렵지...? 문제를 읽고 다시 하는데 읽히지도 않고, 읭스럽게 있다가 하나씩 만져보다가 고치고 그랬다.

func 집어넣는 문제는 내가 생각한 대로 안풀려서 제출도 못했다.

위에 내용들 때문에 시간 관리 잘 못해서, 마지막 직접 푸는 문제에서 15분 동안 2문제를 풀게 생겼는데, 1문제는 금방 풀었다지만, 나머지 1문제는... 분명! 다 풀!었!는!데! 답이 계속 이상하게 나왔다.
내 코드가 이상하거나 그런 것은 전혀아니었다!!!

이미지 블러처리를 하는 것과 관련한 문제였는데, 내 기억으로 대충 아래와 같은 문제였다.

이미지 블러(모자이크) 처리를 하기 위한 함수
2차원 행렬로 img가 주어지고 흰색은 255 검은 색은 0

블러처리하는 방법은, 주변의 8개의 값과 자기 자신을 더한 값을 평균 내는 방식을 사용
만약 좌상단의 모퉁이에 있다면 주변은 3개밖에 없으니 4개의 값을 더하고 평균내는 방식

으로 기억하고 있고, 코드는 아래처럼 풀었다.

def solution(img):
    # 상,하,좌,우, 우상,우하,좌상,좌하, 나
    dr = [-1,1,0,0,-1,1,-1,1,0]
    dc = [0,0,-1,1,1,1,-1,-1,0]
    
    for r in range(len(img)):
        for c in range(len(img[0])):
            nanum_num = 0
            nanum_sum = 0
            for i in range(9):
                if 0 <= r+dr[i] < len(img) and 0 <= c+dc[i] < len(img[0]):
                    nanum_num += 1
                    nanum_sum += img[r+dr[i]][c+dc[i]]
            tmp = int(nanum_sum / nuanum_num)
            img[r][c] = tmp
    return img

분명히 코드도 문제가 없는데!!!! 하고 하다가 아,, img에 그대로 갖다 박아서 숫자가 계속 변환돼서 그런갑다...
img 말고 새로운 new_img라는 2차원 행렬을 만들어두고 거기에 tmp를 갖다 박는 행위를 했어야 하는데, 내가 똥멍청이라서 아주 멍청한 실수를 저지르고 말았다.

아직 이런 시간제한 시험에 익숙지 않고, 알고리즘에 대한 나의 안일함에 의해 생긴 문제라 생각한다.
시간 관리와 디버깅 연습을 더 많이 해야 할 듯하다. 근데 디버깅 연습은 우예하노...

그래도 점수가 아휴 너무 만족스럽지 아니하게 나왔다. 진짜 나 이 정도 까진 아닌데 흑흑흑흑흑흑흑
이번에는 억까다 모든 게 다 억까다 으아아아아아아아아아아