현실적인 개초보 알고리즘 공략법 EP 1. 시작하기 두려운 당신에게

딩코딩코·2024년 11월 15일
16
post-thumbnail

안녕하십니까 형님들 오랜만에 돌아왔습니다.

코딩테스트, 다들 어떻게 준비하고 계십니까?

저는 이번에 인프런에 강의를 하나 만들게 되었는데... 그거 홍보하러 왔습니다

🔥38군데 합격 비법, 2024 코딩테스트 필수 알고리즘🔥
🔥38군데 합격 비법, 2024 코딩테스트 필수 알고리즘🔥
🔥38군데 합격 비법, 2024 코딩테스트 필수 알고리즘🔥
https://inf.run/WRBTe
https://inf.run/WRBTe
https://inf.run/WRBTe

코딩테스트를 시작하면서 생기는 고민들

다들 코딩테스트 처음에 준비를 하면서 다양한 시행착오를 겪는 것 같아요.
대표적인 고민들은 다음과 같습니다.

  • 나만 무슨 소리인지 모르겠나?
  • 개념 어렵고;; 이해하기도 힘든데 무슨 소린지도 모르겠다
  • 문제 30분 이상 고민하라는데 얼마나 고민해야 하나?...

많은 분들이 동일하게 겪고 있으신 만큼, 오늘은 코딩테스트를 시작하려고 하는 개초보 대상으로 몇가지 조언을 드리고자 합니다.

쉬어가는 코너

여기서 잠깐 문제 하나 드리겠습니다.


문제

  1. 승려만 모여 사는 섬이 존재한다.
  2. 빨간 눈과 갈색 눈을 가진 승려들이 있다.
  3. 자신의 눈이 빨간 사실을 알면 그날 밤 12시에 자살해야 한다. (강제 마법)
  4. 그러나 승려 간에는 서로의 눈 색깔을 언급하지 않는 불문율이 존재한다.
  5. 거울 또는 비슷한 물건이 없어 자신의 눈 색깔을 스스로 확인할 수 없다.
  6. 어느 날, 섬에 관광객이 찾아와 말한다.
    "당신들 중, '적어도' 한 명은 눈이 빨간색이군요?"
  7. 그날 밤부터 그 섬에서는 무서운 일이 일어나기 시작한다.

과연 어떤 일이 일어났겠는가?

위의 문제를 보셨을 때 어떠신가요?
어떤 일이 일어났을까 상상을 하다보니 조금이나마 재미를 느끼시지 않으셨나요?

재미있어야 계속 풀고, 계속 풀어야 성취감이 쌓인다.

결국, 알고리즘도 마찬가지입니다. 푸는 게 재미있거나 성취감을 느껴야 하는데, 풀기 너무 힘들다면 멈추세요.

멈추고, 재미있을 만한 문제로 다시 돌아가세요.
쉬운 문제도 괜찮고, 알고리즘 관련해서 썰푸는 영상들도 괜찮습니다.
너무 자신을 밀어붙이다 보면 오히려 독이 됩니다.

다양한 코딩테스트 플랫폼을 이용해보시면서 자신에게 맞는 방법을 시도해보세요. 백준 솔직히 재미없습니다

결국 알아야 풀 수 있는 문제들이 많다. 모르면 당연히 못 푼다.

알고리즘과 수학은 많이 비슷한 면이 있다고 생각합니다.

실전 문제를 풀기 위해서는 확실한 개념의 이해가 있어야 합니다.
그렇다고 해서 개념을 배웠다고 모든 문제를 풀 수 있는가? 절대 그렇지 않습니다.

실전 문제를 풀면서 여러 유형을 배우고 습득해야 합니다.
그 과정에서 조금 지엽적인 개념들이나 풀이방법에 대해서 배울 때도 있습니다.
따라서 초반에는 실전을 풀면서도 어 왜 안 풀리지? 라고 걱정을 할 때가 많습니다.

그러나, 대부분 아직 풀어보지 못한 유형이라 모르는 게 당연합니다.
다시 그 유형이 오면 풀 수 있을 거라고 생각하시고 다음 문제를 풀다보면 어느새 모두 풀 수 있는 유형이 되실거에요!

알고리즘은 머리로만 하는 것이 아니다

알고리즘 문제를 풀려고 하실 때, 키보드로 코드만 작성하시는 경우가 있습니다.

그럴 때는 옆에 있는 노트를 꺼내서, 손으로 직접 써보고 그려보는 게 굉장히 도움이 되는 경우가 있습니다.

이 문제의 상황, 그리고 구해야 하는 값들을 직접 작성하다보면, 더 문제가 수월하게 풀리게 될겁니다.

정답은 많이 해보는 것

코딩은 학문이 아니라 기술입니다.
학문은 책으로 공부하는 것이지만 기술은 직접 해보고 배워야 합니다.

코딩을 수영에 비유할 수 있을 것 같습니다.
수영은 책으로만 배워서는 결코 실력이 늘 수 없습니다.

수영장에 가서 팔도 저어보고 다리도 저어보고 해야 실력이 늡니다.
코딩도 마찬가지입니다.
코딩 테스트 실력을 늘리고 싶다면 코드를 계속 짜봐야 합니다.

혼자서 해결하는 능력, 그러나 갈 길은 멀다.

프로그래밍이란 끊임없이 오류와 마주치고 그 오류를 해결하는 과정의 연속입니다.
이 오류들을 혼자서 해결할 수 있느냐 없느냐에서 실력이 갈립니다.
기어코 그 문제를 해결했을 때 얻는 깨달음도 더욱 크고 기억에도 오래 남습니다.

그럼에도 불구하고 너무 모르겠다 싶으면 마음껏 질문해야 합니다.
대신, 내가 어디까지 노력했고 어디까지 고민했다는 흔적은 보여줘야 좋습니다.
그래야 본인에게 성장하는 밑거름이 됩니다.

지금 가는 길은 길고도 멉니다. 벌써부터 지친다면 좋지 않습니다.
롱런하기 위해서는 멀리봐야 합니다.
만약 개발자 취업을 위해 준비하는 사람들이 있다면, 개취뽀(개발자 취업 뽀개기) 모임으로 들어오십쇼. 같이 멀리 갈 수 있도록 노력해보시지요.

개취뽀 카톡방
개취보 디스코드

다음 내용은?

오늘은 살짝 교양, 인트로, 마음가짐? 같은 내용이었던 것 같습니다.

다음 편부터는 아주 실전적인 내용으로 또 다시 돌아오도록 하겠습니다

Ex)
1. 자료구조, 알고리즘 공부의 적정선 (어느 수준까지 하면 충분하다고 볼 수 있나)
2. 코드 구현력을 높이는 체계적인 훈련 방법
3. 구조화 방식의 복습

아 그리고, 혹시 알고리즘을 한 번도 배운적이 없다면?

🔥38군데 합격 비법, 2024 코딩테스트 필수 알고리즘🔥
🔥38군데 합격 비법, 2024 코딩테스트 필수 알고리즘🔥
🔥38군데 합격 비법, 2024 코딩테스트 필수 알고리즘🔥
https://inf.run/WRBTe
https://inf.run/WRBTe
https://inf.run/WRBTe

profile
안녕하세요 코딩을 뒤집다. 딩코딩코입니다

2개의 댓글

comment-user-thumbnail
약 22시간 전

유튜브 구독자에요 재밌고 유익한 영상들 감사드립니다~
알고리즘도 손 놓고 있었는데 강의 한번 봐야겠네요

1개의 답글