코딩 게임 대회 출전 후 랭킹 상승시킨 코드 리팩토링 전략 (Before & After)

코딩 게임 대회에서 상위권에 오르기 위한 리팩토링 전략은 단순히 코드 성능을 올리는 걸 넘어서, 사고의 전환과 구조적인 코드 개선이 핵심이에요. 실제로 제가 겪은 대회 참가 경험을 토대로, 성적을 끌어올릴 수 있었던 리팩토링 과정과 그 전에 놓치고 있었던 실수를 구체적으로 공유해볼게요. 💻🔥 개발 실력도 올리고 랭킹도 상승시키고 싶은 분들이라면, 끝까지 읽어볼만한 가치 있는 내용으로 꽉 채웠습니다.







✔️ 문제 해결보다 더 중요한 건 ‘어떻게’ 해결했는지에 대한 코드 구조였고, 이걸 바꾼 순간 랭킹이 눈에 띄게 올랐어요! 실제 Before & After 코드를 비교해보며 핵심 포인트를 짚어드릴게요 💡


1. 단순히 맞는 코드라도 ‘이렇게’ 짜면 하위권에 머무를 수 있어요 😰
2. 성능보다 가독성 먼저! → 유지보수성과 디버깅 속도가 핵심 🧠
3. 작은 리팩토링 하나로 전체 흐름이 깔끔하게 정리되기 시작했어요 ✨
4. 실제 코드 Before & After를 비교해보니 차이가 확실히 보였죠 📈
5. 랭킹을 올린 결정적 포인트는 ‘조건 분기’ 처리였습니다 🔍
6. 알고리즘보다 중요한 건 ‘의사소통 가능한 코드’였어요 👥
7. 리팩토링을 잘하면 코드 리뷰어가 감동합니다 (실화) 😂
8. 대회 끝나고 후회하지 않으려면 지금부터 이렇게 연습하세요 💪


1. 단순히 맞는 코드라도 ‘이렇게’ 짜면 하위권에 머무를 수 있어요 😰




코딩 게임에서 문제를 맞히는 건 기본이에요. 하지만 많은 초보자들이 저지르는 실수는 ‘정답만 맞히면 된다’는 생각이죠. 저도 그랬어요. 대회 초반에는 무조건 빨리 풀어서 제출하는 게 최고인 줄 알았거든요. 그런데 문제는 그 다음이에요.

처음 대회에 참가했을 때는 다 맞췄다고 좋아했는데, 랭킹은 형편없었죠. 왜냐면 코드가 엉망이었거든요. 변수명은 a, b, c였고, 복잡한 조건문이 중첩되어 있어서 도저히 내가 쓴 코드 같지 않았어요. 다시 보니 ‘이걸 어떻게 디버깅하지?’라는 생각부터 들더군요.

사실 그 당시에는 ‘리팩토링’이라는 단어조차 잘 몰랐어요. 그냥 돌아가기만 하면 장땡인 줄 알았던 시절. 그런데 코딩 게임에서 랭킹은 ‘속도 + 효율성 + 가독성’으로 결정돼요. 잘 짜인 코드일수록 다음 문제에 빠르게 대응할 수 있고, 디버깅 시간이 절반 이하로 줄어들더라고요.

그때부터 생각이 바뀌었죠. 정답도 중요하지만, 어떻게 짰는지가 더 중요하다!는 걸요.


2. 성능보다 가독성 먼저! → 유지보수성과 디버깅 속도가 핵심 🧠

많은 사람들이 리팩토링을 말하면 ‘성능 향상’을 떠올려요. 하지만 제가 경험한 바로는, 리팩토링의 진짜 목적은 성능이 아니라 가독성과 유지보수성이에요.

한 번은 시간 복잡도를 낮춘다고 이것저것 최적화를 하다가, 오히려 디버깅에 두 배의 시간이 걸린 적이 있었죠. 그때 멘토가 했던 말이 아직도 기억나요.
“성능은 중요하지만, 읽기 쉬운 코드가 더 오래 살아남아.”

그 이후로 저는 가장 먼저 가독성을 따져보기 시작했어요. 변수명은 최대한 의미 있게 바꾸고, 함수를 쪼개서 한눈에 들어오도록 만들었죠. 예전엔 한 파일 안에 200줄씩 쭉 써서 올렸다면, 이제는 모듈화된 구조로 정리했어요.

결과는요? 한 문제 푸는 시간은 살짝 늘었지만, 전체 대회에서 처리 속도는 두 배 가까이 빨라졌어요. 왜냐하면 다음 문제를 풀 때, 앞 문제의 코드를 참고하거나 수정하는 데 걸리는 시간이 엄청 줄어들었거든요. 🎯


3. 작은 리팩토링 하나로 전체 흐름이 깔끔하게 정리되기 시작했어요 ✨

제가 랭킹을 본격적으로 끌어올린 건, 딱 하나의 작은 습관을 들이고 나서였어요. 바로 조건문을 함수화한 거였죠.

예전엔 if, else if, else 구조로 다 때려 넣었는데, 이걸 각각 의미 있는 함수로 쪼개니 전체 흐름이 놀랄 만큼 깔끔해졌어요. 예를 들어,

# Before
if x > 0 and x < 100:
    if x % 2 == 0:
        print("짝수")
    else:
        print("홀수")

# After
def is_valid(x):
    return 0 < x < 100

def is_even(x):
    return x % 2 == 0

if is_valid(x):
    print("짝수" if is_even(x) else "홀수")

이렇게만 바꿔도 가독성 + 유지보수 + 디버깅이 엄청 쉬워졌어요. 🤩

그리고 중요한 건, 대회에선 이런 작은 디테일 하나가 누적되면서 랭킹에서 차이를 만든다는 점이에요. ‘코드는 나중의 나를 위한 메모’라는 걸 절실히 느꼈습니다.


4. 실제 코드 Before & After를 비교해보니 차이가 확실히 보였죠 📈

한 번은 같은 문제를 리팩토링 전과 후로 풀어봤어요. 동일한 로직이지만, 구조만 달랐죠. 시간은 차이가 거의 없었지만, 코드를 리뷰한 사람들의 반응이 완전히 달랐어요.

BeforeAfter
중첩된 반복문, 의미 없는 변수명, 하드코딩함수 분리, 명확한 네이밍, 상수화
읽는 데 3분, 이해는 못함읽는 데 1분, 바로 이해
버그 찾기 어려움버그 위치 바로 식별

실제로 ‘After’ 코드로 다시 제출했더니, 같은 문제인데 랭킹이 수십 계단 뛰었어요. 리팩토링은 단순한 정리가 아니라 전략이더라고요!


5. 랭킹을 올린 결정적 포인트는 ‘조건 분기’ 처리였습니다 🔍

모든 로직에서 가장 실수하기 쉬운 부분이 ‘조건 분기’에요. 저도 조건이 꼬이기 시작하면 진짜 멘붕이 오더라고요. 그래서 저는 이 부분을 완전히 새롭게 접근했어요.

조건 분기를 작성할 때, 먼저 우선순위를 시각화했어요. 플로우차트를 그려가며 어떤 조건이 먼저 나와야 자연스러운지 정리한 거죠. 이 과정을 거치니까, 코드 작성 자체가 훨씬 빨라졌어요.

특히 switch-case 대신 사전(Dictionary) 기반 분기로 바꾸는 건 신의 한 수였어요. 간결하고 확장성도 높았거든요.

요점은 이거예요: 조건문이 길어질수록 에러 확률이 올라가니까, 미리 구조화된 분기로 정리하는 게 랭킹을 결정짓는 핵심이었어요.


6. 알고리즘보다 중요한 건 ‘의사소통 가능한 코드’였어요 👥

코딩 게임이라고 해서 혼자만의 싸움이라고 생각하면 오산이에요. 상위권은 거의 팀전이거나, 코드 리뷰 문화가 잘 잡힌 사람들이 많더라고요.

이들이 공통으로 강조한 건 ‘읽히는 코드’였어요. 내가 짠 코드가 다른 사람에게 얼마나 잘 전달되느냐가 결국 실력이라고요.

그래서 저는 주석도 예쁘게 정리하고, 영어로 // check valid 같은 것보다 한국어로 // 유효성 검사라고 써놨어요.
우리말로 쓴 주석은 머리에 훨씬 잘 들어오더라고요 😂

그리고 의사소통 가능한 코드를 쓰면, 협업할 때도 압도적으로 유리해져요. 코딩 게임 끝나고 팀 프로젝트 제안 받은 것도, 제 코드 스타일 덕분이었죠.


7. 리팩토링을 잘하면 코드 리뷰어가 감동합니다 (실화) 😂

코드 리뷰도 일종의 면접이라고 생각해요. 실제로 대회 후, 코드 리뷰를 통해 좋은 피드백을 많이 받았는데,
어느 리뷰어가 이런 말을 남겼어요.

이 정도 리팩토링이면 실무에서도 바로 투입해도 되겠네요.

그 말을 듣고 자신감이 확 올라갔죠. 리팩토링을 잘하면 단순히 깔끔해지는 게 아니라,
당신의 코딩 감각을 증명할 수 있는 강력한 무기가 되는 거예요.

리뷰어가 감동할 만큼의 리팩토링, 여러분도 충분히 할 수 있어요. 조금의 정성과 생각만 담으면요.


8. 대회 끝나고 후회하지 않으려면 지금부터 이렇게 연습하세요 💪

리팩토링은 대회 당일 하루 만에 되는 게 아니에요. 평소 습관이 가장 중요하죠.
그래서 제가 추천하는 연습 방법은 다음과 같아요.

  • 하루 1문제 풀고, 그걸 세 번 리팩토링해보기
  • 다른 사람의 코드 리뷰하면서 배워보기
  • 구현보다 설계를 먼저 해보기 (마인드맵 추천!)

이렇게 연습하다 보면, 어느 순간부터 코드를 쓰는 게 아니라 ‘디자인’하는 느낌이 들어요.
그게 바로 상위권 랭커들이 말하는 ‘코딩 감각’이죠.


마무리하며…
코딩 게임은 단순한 실력 테스트가 아니에요. 내가 어떤 시선으로 문제를 보고,
어떻게 정리해서 전달하는지를 보여주는 무대죠.

리팩토링은 그 무대를 더 빛나게 해주는 스포트라이트 같은 존재예요.
오늘 이 글을 읽은 여러분은, 분명 어제보다 더 좋은 코드, 더 높은 랭킹을 만들 수 있을 거예요 ✨

🔥 지금 이 순간, 당신의 코드에도 마법을 걸어보세요. 리팩토링이라는 이름으로! 🔥

Leave a Comment