평점
평점 | |
재미 | ️️️️️ (진짜로 재밌었다. 근데 취향 많이 타는 듯 하다. 재미나 흥미 없다는 사람도 있었다.) |
시간 | ️️️️ (문제 푸는 시간으로 3일이 주어졌는데 딱 적당했으나 반전이 숨어 있었다…) |
보상 | ️️️️ (42월렛… 조금만 더 늘려서 402월렛은 안됐나… 큼큼) |
지식 | ️️️️️ (새로운 지식을 알아가는 재미가 있었다. 너무 깊게 파지 않아도 되어서 좋았다.) |
재참여 의사 | (있음) |
서론
때는 바야흐로 3월 24일, 어나운스먼트 채널에 한 공지가 올라왔다.
만우절??? 이벤트??? 이건 못 참지 이러면서 레지스터 했다. pdf를 열어보니 이상하고도 요상한 문제들이 많아서 한 번 후기를 남겨보면 재밌겠다 싶어서 글을 적어본다.
과제
만우절 과제라니, 무슨 문제들이 나올까 기대하면서 pdf를 열었다. 역시 시작부터 범상치 않았다.
총 17문제가 있었는데, 이벤트 참여자들을 위한 슬랙 채널에 가입하라는 첫 문제를 제외하면, 실은 16문제이다.
맛보기
ex01부터 ex04까지 shell script나 특정 파일을 만들라는 과제여서 딱히 어려운 것은 없었다.
ex04가 특히 재밌었는데, 문제 설명은 없고, 그냥 QR코드만 덩그러니 있는 것이다. 뭔가 싶어서 찍어보니 갑자기 한 유튜브 영상이 뜨는 것이다.
At your risk
진짜로 한 몇 초 동안 “???????” 이 상태였다. 진짜로 뭐 하라는 건지 모르겠어서 다른 사람에게 물어보니, 해외에서는 이게 Rickrolling이라는 밈으로, “이 링크를 클릭하면 100달러를 드립니다!”와 같은 식으로 사람을 낚는 데 쓰이는 낚시 동영상인 것이다. 그렇다. 나는 낚였다. 너 지금 낚인 거야
그래서 똑같이 낚아주기로 마음 먹었다. 원래 이 과제는 그냥 lyrics.txt 라는 파일을 생성하면 되는 과제인데, 다들 파일 이름 때문에 그런가 안에 가사를 집어넣은 것이다. 그래서 나는 다른 걸 집어넣었다.
자세히 잘 보면 NEVER GONNA GIVE YOU UP이라고 적혀있다
본격 프로그래밍 과제
앞의 문제들이 가볍게 이 과제의 분위기를 알려주는 문제들이었다면 이제부터 본격적으로 머리 쓰는 문제들이 나왔다.
간단한 스크립트나 프로그램을 만드는 문제들이 나왔는데 Perl이나 PHP, Python 등 평소에 안 써본 언어들을 사용하는 과제들이 있어서 재밌었다. 또 중간에 특이한 문제가 있었는데, 바로 code golf 문제가 나온 것이다.
보컬들끼리 대결했을 때 나온 제일 짧은 코드는 42글자였고, 나는 64글자로 마무리했다.
이게 뭔…?
그다음부터는 신기한 문제들이 나왔는데, 바로 decryption 문제다. 암호들이 나오고 그걸 해석하는 문제인데, 문제는 “이 암호를 해석하시오”라는 말도 암호화되어있어 이것도 해석해야 했다.
또 과제 이름이 Girdle of hippolyta라는 과제가 있는데, 히폴리테의 허리띠라는 뜻으로, 그리스 로마 신화에서 나오는 헤라클레스의 열두 과업 중 9번째 과업이다. 12번 문제라서 이름을 이렇게 지은 것 같은데, 왜 12번째 과업인 케르베로스 잡아 오기가 아닐까 고민하던 와중 이런 링크를 발견했다.
아마 옛날 옛적에 hercules라는 과제가 있었는데 그걸 재사용한 것이라 추측하고 있다. 꽤 신빙성 있다고 생각하는데, 왜냐면 14번 문제도 Old friend이라는 과제로, 옛날 피신 문제였던 Sastantua’s Pyramids라는 문제에서 이름만 바꾼 문제다. 별 찍기 문제와 유사한 문제다. 이 문제도 참 재밌었는 게, pdf에서 두 개의 바이너리 파일이 주어졌다는 걸 강조한다. 파일 확장자와 함수 모두 제한 없다. 즉 스크립트 파일도 괜찮다는 의미이다. 남들 다 구현하고 있을 때 바이너리 파일 실행시키는 스크립트를 만든…
마지막 문제의 정답은 “kidnapped by charly”인데, 이 찰리라는 사람이 누구냐, 바로 프랑스 보컬이다. 프랑스에선 책 “월리를 찾아서”를 “찰리는 어디 있나”라고 부른다고 한다. 그래서 그것에 맞춰서 프로필 사진을 저렇게 바꾼 것 같다.
이 외에도 재밌는 문화 차이(?)가 있었는데, blackjack 패가 주어지고 그 점수를 구하는 문제가 있다. 그 문제에서 J, Q, K 카드는 10점이라고 했는데, 그 밑에 카드는 오직 “23456789TJDKA” 밖에 없다고 하는 것이다. 그래서 D는 몇 점이고, Q는 올바른 인풋이 아닌 건가 고민했었는데, 프랑스 카뎃이 말하길 프랑스에서는 Queen 카드를 D로 쓰기도 한다고 한다. 이걸 모르는 다른 나라 카뎃들만 혼란의 도가니였다.
그래서 진짜 후기
평소에 계속 C만 쓰다가 다른 언어들을 써볼 수 있어서 좋았다. 또한 다른 나라 카뎃들과 교류하면서 같이 문제 푸는 것도 재밌었다. 혼자서 풀었다면 암호 해독 문제에서 “??????????” 물음표 백만 개 띄우고 바로 때려치웠을텐데, 먼저 달려나간 선구자들이 남겨준 힌트를 줍줍하면서 문제를 하나 하나 풀어가니 참 즐거웠다.
짠! 100점!
50점 보상
100점 보상
참, 그래서 이게 만우절이랑 무슨 상관? 이렇게 느낄 수도 있는데, 여기에는 문제 출제자 프랑스 보컬 코코넛씨의 아주 큰 통수가 하나 있었다.
pdf에 이렇게 적혀 있었는데, 한국 시간 기준 토요일 오후 5시에 열렸고 인트라에 max duration: 3 days라고 써져있어서 당연히 다들 월요일 오후 5시에 close될 거라 생각했었다. 그러나 예상을 깨고 1시쯤에 과제 화면이 과제 제출하고 finish 눌렀을 때 뜨는 화면으로 변한 것이다. 나를 포함한 전세계 모든 카뎃들이 그동안의 경험으로 당연히 레포는 닫혔고, 더 이상 push를 못한다고 생각해 발만 동동거리고 있었는데…
당황한 카뎃들, 그리고 해맑은 이 모든 일의 주범 코코넛씨
“재밌냐?” - 진심으로 화난 한 해외 카뎃씨
?????????
push 되는데?
그렇다. 이건 통수의 통수였던 것이다. 나는 또 낚였다. 너 지금 또 낚인 거야
정말로 끝까지 만우절에 충실한 과제였던 것이다. 결론은 재밌었고, 이런 이벤트가 또 있다면 재참여 의사 100%다. 혹시 이 글을 읽고 재밌다고 느꼈다면, 다음에는 꼭 같이 참여할 수 있으면 좋겠다. 후기 끝!