본문 바로가기

Algorithm/Codejam

Google Codejam 2021 후기

스코페 2차를 망친날 Google Codejam 시험을 알게되었다.

 

다행히 그날이 Qual 마지막날이라 Qual은 통과

 

그리고 Round 1a, 1b, 1c를 전부 떨어져서 내 첫 Codejam은 끝났다

 

 

떨어진 이유들을 분석해보면

 

[1a]

1a때에는 너무 오랜만에 코딩을 해서 1번 구현에서 망쳤다.

끝나고나서 2번, 3번을 고민해봤는데, 1번을 풀었어도 2, 3번을 못풀어서 떨어졌을 것 같다.

 

[1b]

1b때에는 3문제 전부 너무 길었다. 영어가 서툴어서 문제 해석을 완벽히 못했고, 문제가 길다보니 조급해져서 조건들을 몇개 놓쳤다.

 

1a 때보다 잘한건 1번이 어려워서 빨리(?) 포기하고 2번을 풀었던 것.

근데 2번은 생각보다 쉬웠는데, 너무 조급하게 해서 Impossible 상황을 고려를 안함. (문제 끝까지 읽었으면 맨 밑에

샘플케이스에 있었는데...)

 

[1c]

개인적으로 제일 아쉽다.

1번을 조잡하게 구현을 했는데 계속 틀려서 싹 갈아 엎으니 통과.

역시나 간단한 코드가 통과하기 쉽다...

 

1번을 푼 시점에서 2 - (1) & 3 - (1)을 풀지, 아니면 2 - (1) & 2 - (2)를 풀지 결정했어야 했다.

 

2번을 봤는데 할만할 것 같아서 2번을 도전했고, 2번을 풀었다고 생각했는데 최대 조건인 10^18을 대입을 안해봤다.

 

근데 대회중에는 2 - (2)가 Hidden Set이어서 채점결과를 안알려준다. 채점 속도가 빠르길래 TLE는 아니어서 맞은 줄 알았는데... 자바 Long범위를 벗어나는 결과를 내가 고려를 안했다.

 

10^18만 대입했어도 바로 디버깅해서 고칠 수 있는건데, 전혀 생각을 못했다. 10^18 같은 최댓값, edge case를 확인을 했어야했는데 진짜 아쉽다.

 

 

 

Codejam 2021 Round1을 준비하면서 느낀 Round1의 공통점

 

1번은 간단한 아이디어와 구현, 2번도 간단한 아이디어와 이분탐색, 3번은 어려움 이었다ㅋㅋ

 

개인적으로 Codejam Qual을 통과했다면 Round1의 1번은 충분히 풀 수 있을것이고

 

2번을 풀기위해서는 이분탐색을 할 줄 알아야하고, 이분탐색을 할 줄 안다면 대부분 풀 수 있을것이다.

 

3번은 어려울 땐 어렵고 할만할 땐 할만한데, 애초에 3번을 많이 안풀어봐서 아직 뭐라 판단하기는 이른 것 같다.

 

 

기회가된다면 Codejam 풀이를 올려보겠다.

 

codingcompetitions.withgoogle.com/codejam/archive/2021