[일상] 알고리즘 잡스 수강 후기 -5 (손진호 대표님 특강3)

7/25 토요일 이번 주 토요일에도 대표님 특강이 있었기에 저번 주와 마찬가지로 알고리즘 책을 받고 문제를 어떻게 풀지 설계를 30분간 진행하였다.

 

알고리즘 책은 위와 같이 생겼다. 

 

공기청정기 문제 풀이

오늘 특강 시간에 풀어 볼 문제는 공기청정기라는 문제이다. 번 문제는 다소 난해하여 어떠한 문제인지 파악하는데만 오랜시간이 걸렸다. 문제의 핵심 부분만 발췌하자면 위와 같다. 

 

오늘 풀어 볼 공기청정기라는 문제를 간략히 설명하자면 2차원 공간에 공기청정기가 있고 그 공기청정기에서 매 초마다 위쪽으로는 시계방향 아래쪽으로는 반시계 방향으로특정 조건을 만족하면 신선한 공기가 확산이 되어 공기의 상태가 변하게 된다. 이렇게 바뀐 공기의 상태값을 기반으로 입력받은 N초 뒤의 모든 공기 상태 값의 총합을 구하는 문제이다.

 

핵심 알고리즘 구현

공기청정기라는 문제를 풀기 위해서는 위쪽은 시계방향, 아래쪽은 반시계방향으로 배열을 밀어내는 밀기 알고리즘과 특정조건에 맞게 매 초마다 공기를 확산시키는 확산 알고리즘이 필요했다. 지난주와 마찬가지로 알고리즘 잡스에서는 각각의 알고리즘을 먼저 구현해볼 수 있게 미니 문제들을 주었기에 이것부터 풀었다. 밀기 알고리즘의 경우 매주 비슷한 형태로 계속 연습을 해보았기에 비교적 쉽게 해결하였는데 확산 알고리즘 구현이 상당히 까다로웠다. 이번 특강시간에도 결국은 시간 부족으로 문제를 풀지 못했고 숙제로 남게 되었다. 이런 문제들을 시간 내에 자유자재로 풀 수 있으려면 얼마나 공부를 해야 할까? 자괴감이 드는 하루였다.

댓글(0)

Designed by JB FACTORY