티스토리 뷰

말년을 알고리즘과 함께...

기나긴 군생활이 끝나갈 때 즈음 알고리즘 캠프가 시작되었고 12주간의 알고리즘 캠프는 콘테스트와 함께 막을 내렸다.

누군가가 나한테 와서 "너는 전역하고 1달동안 알고리즘에 매달려있을 거야!" 하면 뭔 소리냐고 했겠지만 현실이 되었다.

 

이런 선임이 실제로 존재합니다. 상병 6호봉 (11월)부터 정말 무슨 삶을 산걸까

말년에 접어들고 전역하고 뭐하지 와 같은 희망고문과 무지 성 백준 문제풀이가 계속되던 도중 캠프의 존재를 알게 되었고 전역하고 늘어지면 답도 없겠다는 생각이 들어 일단 신청하고 봤다.

 

 사실 그동안 문제들을 풀던 것을 생각하면 죄다 그래프와 DP에 몰빵 돼 있었다.

그와 다르게 정수론과 문자열 알고리즘은 관심을 안 가지다 보니 거의 문외한에 가까웠다.

이외에도 내 코드들을 들여다보면.... 참 비효율적으로 짠다는 느낌이 컸다.

이러니 Lazy Seg라던가 2-SAT과 같이 길이가 긴 코드를 하다 보면 나 자신도 알아보기 힘들 만큼 코드가 복잡해졌다.

 

강해졌나...?

 

성능 확실하구만! 타잔알고리즘은 신이고 최강이다.

 

잘 쓴 코드들을 참고하면서 나 자신만의 코드를 발전시켜 나가야 하는 건 개발자의 기본 소양이다.

(진짜 만나는 교수님들과 선배들이 같은 조언을 해주셨다)

2-SAT을 대표적으로 떠올리면 나는 늘 SCC를 코 사라 주를 써서 구현하곤 했다. 하지만 캠프를 진행하면서 다양한 알고리즘을 알게 되고(특히 타잔) 예시 코드들을 보면서 코드 길이도 길이지만 간결하고 보기 좋게 구현하는 방법을 배울 수 있었다. (특히 segtree를 top-down으로 짜기 시작했는데 큰 도움이 됐다)

 

KMP도 자료구조 책에서만 보다가 제대로 이해하고 문제풀이에 이용한 것도 처음이고

유클리드 알고리즘과 역원을 이론으로만 배웠지 실전으로 응용해볼 기회는 이번이 처음이었다.

되게 알고리즘도 알고리즘이지만 모르던 지식을 쌓아간다는 기분이 좋았던 듯하다.

 

다만...

 

우리 아이가 여전히 편식이 좀 심해요...

SCC, Segtree, Flow와 이분 매칭에 감동받은 나머지 캠프가 끝나고 돌아보니 연습 셋을 정말 좋아하는 것만 미친 듯이 풀었다는 것을 뒤늦게 알았다.

 

더욱 큰 문제는 이 사실을 캠프 콘테스트가 끝난 뒤에야 알았다는 것이다.

 

뭐같이 멸망. E도 오타를 잘못봐서 패널티 폭탄을 맞았다;;

C자체는 게임이론이었는데 비트 셋을 이용하면 DP로 접근하면 될 것을 시간 복잡도 터지겠는데? 생각하고 접근 안 했다가 폭망 했다. D는... DP 배열을 다 만들어놓고 트랙킹을 안 해버렸다.

 

진짜 끝나고 나서야 DP와 greedy가 정말 취약하다는 것을 크게 느꼈다. (최근 코포 결과에서도 느끼고 있었지만ㅠ)

캠프가 끝나고 이 둘을 집중적으로 파면서도 다른 문제들도 감을 안 잃도록 해야겠다는 생각을 했다.

 

향후 계획?

우리는 이것을 인플레이션이라 부릅니다.

물론 연습 셋 자체가 난이도가 좀 있고 많이 풀다 보니 Solved 티어를 안 보려고 해도 정말 (과도하게) 잘 올라갔다. 

티어가 실력을 나타내는 것은 아닐뿐더러 진짜 내 실력에 비해 과도하게 오른 것 같아서

한동안 코포나 엣 코더에서 애드 혹이나 greedy 문제 위주로 풀면서 DP를 꼼꼼히 접근하도록 공부해야겠다.

 

만약 캠프에 참가 안 했었다면 놓칠 것들이 정말 많았을 거라고 생각이 들 정도로 지식적인 측면뿐만 아니라

나 자신을 되돌아보게 될 기회였다. 내가 무엇을 잘하고 못하는지, 그리고 놓치고 있는 점이 무엇인지를 잘 알 수 있었다.

 

어제를 기점으로 새로운 한 학기가 시작되었다. 캠프는 끝났지만 PS는 끝나지 않고 계속될 듯하다.

하지만 글은 이만 끝내야겠다.

 

마지막으로

퍼솔 박제는 그래도 못 참겠다.

'Daily' 카테고리의 다른 글

2022.04.12 / AM 01:15  (0) 2022.04.12
2022.03.29 / PM 11:20  (4) 2022.03.29
2022.02.16 / 00:40  (0) 2022.02.16
yee,,,,,  (0) 2021.11.20
About me  (0) 2021.06.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday