싸피 방학과 몰입 도전
6월 3일 월요일부터 한 주 동안은 SSAFY 방학이었다. 1년 동안의 바쁜 코딩 교육과정에서 처음이자 마지막으로 경험하는 방학이기에 최대한 의미있게 방학을 보내고 싶었다. 고민 끝에, 올해 가장 인상 깊게 읽었던 책의 저자분께 코칭을 신청했다.

그 책이 바로 황농문 교수님의 몰입이라는 책이었다.
그렇게 6월 4일 화요일 황농문 교수님과 첫 전화통화를 시작했고, 6월 9일 일요일까지 총 6일간 매일 황농문 교수님의 코칭을 받으며 몰입에 도전했다.
성과가 어땠을까? 결론부터 먼저 말하자면 나는 이 과정 동안 2가지 배움을 얻었다. 하나는 도저히 답을 찾을 수 없어 보이는 문제라도 내가 해결할 잠재력이 있다는 것이었다. 내 실력은 고작 백준 골드 3~5 수준의 문제를 겨우 풀 수 있는 수준이다. 그런데 이번 몰입 과정을 통해 나는 한 문제에 짧게는 4시간에서, 길게는 30시간까지 쏟으면서, 삼성 역량 테스트 기출문제 중 가장 어려웠던 플래티넘 문제들까지 해결할 수 있었다. 이를 통해 “뭐야 나도 할 수 있잖아?”라는 자신감이 조금 생겼다.
내가 이번 몰입 과정을 통해 배운 또 다른 점은, 유튜브나 카톡 등 다른 일에 하루 10분도 낭비하지 않고 하루 종일, 더 나아가 일주일 내내 공부하는 것이 가능하다는 것이었다. 나는 원래 몰입이라는 게 너무 꿈이나 환상같았고, 나에게 적용되기는 어렵겠다 생각했다. 하지만 일주일 동안 홀린 듯이 공부를 하게 되면서 나도 몰입이라는 걸 할 수 있다고 느꼈다. 아마도 특정 문제에 대해 3~5일 정도 하루 종일 그것만 생각하게 되면, 뇌의 도파민 보상회로가 변하는 것 같다. 몰입이라는 게 특별한 사람만 할 수 있는 게 아니라, 며칠 동안 몰입함으로써 뇌를 변화시키면 몰입이라는 행위가 충분히 가능하다는 점에서 나름 자신감을 얻었다.
몰입 과정
몰입 과정을 겪으며 기록한 내용을 간단히 남겨보려고 한다.
0) 준비 과정 0일차
화요일 오후에 교수님과 통화를 하고, 그날 저녁에는 몰입에 빠질 준비를 했다. 몰입 책을 다시 읽어 보며 준비를 했다. 몰입하기 위해 해결해야하는 과제를 선정해야 했는데, 나는 백준에 있는 삼성 역량 기출 문제집을 그 대상으로 삼았다. 여기서 가장 어려운 문제가 플래티넘5 수준의 문제였고, 그 문제를 푸는 걸 몰입의 목표로 삼았다.
1) 플레티넘 5 큐빙 문제(0일차~1일차 도합 4시간)

큐빙이라는 문제에 도전했다. 큐브를 돌렸을 때의 결과를 다시 출력해야하는 구현 문제였다. 그런데 공간 지각 능력이 떨어지다 보니 쉽지가 않았다. 그림을 그려서 푸는데 너무 복잡해서, 다이소에서 큐브를 살 생각까지 했다.

그런데, 이 문제를 4시간만에 해결했다. “와 내가 플래 문제를 푼다고?”라는 감격을 받고, 또 다른 플래티엄 문제인 ‘온풍기 안녕!’에 도전했다.
2) 플레티넘 5 온풍기 안녕! 문제 (1일차~2일차 10시간)
하지만 아쉽게도 이 날 저녁까지 8시간 넘게 붙잡았지만 해결하지는 못했다. 그래도 나름 집에서도 생각하려고 애를 썼다. 그리고 다음날 다시 도서관에서 어제 풀다 만 온풍기 안녕! 문제에 도전했다.

결국 도합 10시간만에 해결할 수 있었다. 진짜 아침에 자고 일어나면 뇌가 자는 동안 많이 만들어 놓은 아이디어를 쓸 수 있는 것 같다.
이처럼 삼성 기출 문제집에서 가장 어려운 2문제를 연달아 풀게 되자 기분도 좋았고, 정~~~말 어려운 문제에 도전하고 싶었다. 그래서 아예 플래티넘보다 높은 ‘다이아’ 등급의 문제에 도전하기로 했다.
다이아 등급의 문제는 코딩 테스트 보다는 정보 올림피아드 등 알고리즘 대회에서나 나오는 문제들이다. 그래서 사실 취준생 입장에서는 굳이 풀 필요가 없었다. 하지만 몰입을 위해 정말 어려운 문제에 도전해보고 싶었고, 그래서 도전을 시작했다.
3) 다이아4 냄새 싫어 문제 (2일차~6일차 40~50시간 이상)

결과적으로 나는 이 문제를 풀지 못했다. 진짜 30시간 이상을 고민하고, 4가지 이상의 다양한 풀이 방법을 시도했지만 결국 시간복잡도를 줄일 수 없었다.
그래서 포기하고 새로운 문제에 도전해야하나 고민하던 찰나에, 교수님께서 풀고 못 풀고는 중요한 게아니라고 하셨다. 중요한 건 내가 최선을 다했는지 아닌지라는 것이었다. 최선을 다했는데 결과가 안 좋게 나온다면 그건 어쩔 수 없는 것이다. 내 잠재력을 다 발휘했기 때문에 아쉬울 것도 없다.
그래서 나도 다시 용기를 내서 문제 해결을 끝까지 하려고 했다. 그래서 문제에 사용된 알고리즘을 추가 학습하기로 했다.

이 알고리즘들 중에서 모르는 건 ‘볼록 껍질을 이용한 최적화’ 밖에 없다. 그래서 볼록껍질 알고리즘부터 공부하기로 했는데…. 알고보니, 볼록껍질을 이용한 최적화는 볼록껍질 알고리즘과 달랐다…
아무튼 그렇게 볼록껍질을 공부하기 위해 찾아보니 ‘선형대수학’ 개념이 필요해서 약 10년 만에 수학 공부도 다시 했고, 벡터와 내적과 외적 개념에 대해서도 알아봤다. (알아봤지만 잘 모르겠다.)
유튜브에 정보 올림피아드 IOI KOREA 채널 영상도 보고, KOCW에 알고리즘 강의도 참고하면서 공부했다.
그런데, 이걸 공부하면서 느낀 것이 있다. 문제를 해결하는 아웃풋 방식의 몰입 뿐 아니라, 머리에 지식을 넣는 인풋 방식의 몰입도 충분히 가능하다는 것이다. 나는 수학처럼 아웃풋 방식의 몰입만 할 수 있는 줄 알았는데, 내 편견이 완전히 부숴졌다. ‘나도 몰입할 수 있겠다’라는 자신감이 생겼다.
그렇게 마지막 날 밤까지 공부하고 해법을 고민하고 했지만 결과적으로 문제는 풀지 못했다. 하지만 그냥 너무 뿌듯한 한 주였다. 지금까지의 내 삶이 얼마나 낭비로 가득했는지 알 수 있었고, 앞으로는 몰입을 통해 내 삶을 채워가며 살고 싶어졌다.
결론
그래서 결론은, 난 앞으로 몰입하며 살겠다는 거다. 내 일에 미쳐서, 하루 종일, 주 7일 동안 몰입하며 살고 싶다.
그래서 가정을 지킬 수 있는 능력도 만들고 싶고, 자기 효능감도 채우고 싶고, 지속 가능한 최선으로 삶에 대한 만족감을 높이고 싶다.
이제 올해가 200일 남았다. 1월 2일 싸피를 시작하고는 160일 정도가 지난 건데, 진짜 보수적으로 잡아도 그 동안 코딩 공부한 시간이 최소 1000시간은 넘는다. 그러니 앞으로 남은 200일 동안 매일 10시간씩 2000시간을 추가하게 되면 나는 3000시간의 훈련을 한 상태가 된다.
그러면 정말 어지간한 능력은 있지 않을까?? 전문가가 되기 위해 1만 시간이 필요하다고 할 때, 나는 그 시간의 3분의 1인, 3000시간을 채우게 될 테니 말이다. 이런 업무 강도로 신입 입사 후 2년~3년을 보내게 되면 나는 1만 시간은 충분히 채울 것이다. 그날을 기대해본다.
No Responses