프로그래머스에서 처음 풀 문제를 고를 때 가장 많이 하는 실수

댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.
지난 글에서 프로그래머스 풀이를 GitHub에 자동으로 남기는 방법을 정리했다면,
이번에는 그 다음 질문으로 넘어가보려 합니다.
그래서 프로그래머스에서는 처음에 어떤 문제부터 풀어야 할까?
알고리즘 공부를 막 시작하면 보통 비슷한 흐름을 겪습니다.
그런데 많은 경우 문제는 실력이 아니라 문제 선택 순서에 있습니다.
처음 알고리즘 공부가 오래 가지 않는 이유는
머리가 부족해서가 아니라,
지금 내 수준보다 약간만 어려운 문제를 꾸준히 고르는 감각이 아직 없기 때문입니다.
이번 글에서는
프로그래머스 입문자가 가장 많이 하는 문제 선택 실수와,
처음에는 어떤 순서로 접근하면 훨씬 덜 지치고 오래 갈 수 있는지를 정리해보겠습니다.
알고리즘 공부는 단기간에 폭발적으로 느는 공부가 아닙니다.
오히려 조금씩 반복하면서 문제를 보는 눈이 바뀌는 쪽에 가깝습니다.
그래서 처음에는
“오늘 몇 문제를 풀었는가”보다
“이번 주에도 계속 풀 수 있겠는가”가 더 중요합니다.
많은 입문자가 여기서 첫 번째 함정에 빠집니다.
문제를 고를 때
“제일 유명한 문제”,
“제일 어려워 보이는 문제”,
“남들이 많이 푸는 문제”를 먼저 고릅니다.
그런데 입문 단계에서는
좋은 문제보다 좋은 난이도 선택이 더 중요합니다.
내 수준보다 너무 어려운 문제는
생각하는 힘을 키우기 전에
공부 자체를 버겁게 만들어버리기 쉽기 때문입니다.
프로그래머스를 처음 들어가면
고득점 Kit가 눈에 잘 들어옵니다.
이름도 강하고,
유형별로 잘 정리되어 있어서
“이거부터 하면 되는 거 아닌가?” 싶어집니다.
틀린 생각은 아닙니다.
다만 처음부터 어려운 문제를 중심으로 들어가는 건 위험할 수 있습니다.
왜냐하면 고득점 Kit는
문제를 푸는 습관이 아직 없는 사람보다
이미 어느 정도 문제 풀이 감각이 있는 사람에게 더 잘 맞는 구조이기 때문입니다.
특히 처음부터 이런 식으로 가면 힘들어집니다.
문제는 고득점 Kit 자체가 아니라,
들어가는 시점입니다.
처음에는 고득점 Kit를
“당장 정복해야 할 코스”가 아니라
조금 익숙해진 뒤 본격적으로 구조화해서 풀어볼 코스 정도로 생각하는 편이 좋습니다.

알고리즘 공부에서 자주 생기는 두 번째 실수는
한 문제에 너무 오래 머무는 것입니다.
물론 오래 생각하는 건 중요합니다.
문제를 금방 포기하는 습관도 좋지 않습니다.
그런데 입문 단계에서는
“끝까지 혼자 풀어내야만 공부가 된다”는 생각이
오히려 독이 될 때가 많습니다.
예를 들어 이런 식입니다.
이건 끈기가 부족해서가 아니라
학습 리듬이 무너진 상태에 가깝습니다.
처음에는 한 문제에 이렇게 기준을 두는 편이 좋습니다.
중요한 건
“혼자 무조건 끝까지 버티기”가 아니라
생각한 뒤, 막히면 배우고, 다시 비슷한 문제에 적용하는 것입니다.
알고리즘은 버티는 공부이기도 하지만,
동시에 패턴을 흡수하는 공부이기도 합니다.

이건 정말 많이 하는 착각입니다.
“쉬운 문제를 몇 개 푼다고 실력이 늘까?”
“어차피 코딩테스트는 어렵게 나오는데, 쉬운 문제는 시간 낭비 아닌가?”
이런 생각이 자주 듭니다.
그런데 실제로는 반대입니다.
쉬운 문제는
실력이 없어서 푸는 문제가 아니라,
실력을 쌓기 위해 꼭 거쳐야 하는 문제입니다.
쉬운 문제의 역할은 생각보다 큽니다.
처음부터 어려운 문제만 풀면
“나는 못 한다”는 기억만 쌓입니다.
반대로 쉬운 문제를 적절히 풀면
“아, 이런 류는 내가 할 수 있네”라는 감각이 생기고,
그 감각이 다음 문제를 열게 만듭니다.
즉, 쉬운 문제는 쉬워서 가치가 낮은 게 아니라
다음 단계로 넘어가기 위한 발판 역할을 합니다.

이게 제일 중요합니다.
처음에는 최고 난도를 뚫는 것보다
내가 계속 공부할 수 있는 구간을 찾는 게 먼저입니다.
너무 쉬우면 지루하고,
너무 어려우면 금방 지칩니다.
그래서 처음에는 아래 기준으로 난이도를 가늠해보면 좋습니다.
반대로 아직 너무 어려운 문제는 대개 이렇습니다.
처음엔 이 구분이 잘 안 됩니다.
그래서 더더욱 쉬운 문제부터 쌓으면서
“어디까지는 내가 생각해볼 수 있고, 어디부터는 아직 멀다”를 알아가는 과정이 필요합니다.
프로그래머스를 처음 보는 사람에게는
저는 보통 이렇게 권하고 싶습니다.
먼저 중요한 건
프로그래머스에서 문제를 읽고, 제출하고, 다시 보는 흐름에 익숙해지는 것입니다.
이 단계에서는
“실력을 증명하는 문제”보다
문제를 푸는 습관을 만드는 문제가 더 중요합니다.
추천 포인트:
그 다음에는
반복해서 등장하는 유형을 만나보는 게 좋습니다.
예를 들면
이 단계에서는
“문제를 처음 보는 감각”보다
비슷한 구조를 여러 번 만나보는 경험이 중요합니다.
고득점 Kit는 그다음입니다.
이 시점에는
즉, 고득점 Kit는
처음부터 정면 돌파할 곳이라기보다
어느 정도 익숙해진 뒤 실력을 구조화하는 단계에 더 가깝습니다.

처음부터 완벽하게 하려고 하면 오래 못 갑니다.
그래서 저는 오히려 이렇게 단순하게 시작하는 쪽을 추천합니다.
이 방식의 장점은
실력이 빨리 느는 것보다 먼저
문제를 여는 습관이 생긴다는 데 있습니다.
그리고 알고리즘 공부는
이 습관이 붙고 나서부터 비로소 누적이 시작됩니다.

처음 프로그래머스를 시작할 때 가장 많이 하는 실수는
실력이 부족한 게 아니라,
문제를 너무 어렵게 고르는 것입니다.
그런데 알고리즘은
재능보다 먼저 리듬이 중요합니다.
오늘도 문제를 열고,
생각해보고,
막히면 배우고,
비슷한 문제를 다시 풀어보는 흐름.
이 흐름이 쌓이면
쉬운 문제를 푸는 사람도
결국 어려운 문제를 풀 수 있게 됩니다.
반대로 이 흐름이 없으면
어려운 문제를 오래 붙잡아도
공부가 자꾸 끊기기 쉽습니다.
알고리즘 공부를 시작할 때
가장 먼저 필요한 건 어려운 문제를 뚫는 힘보다
내가 계속 풀 수 있는 난이도를 고르는 감각입니다.
처음에는 쉬운 문제를 푸는 것이 부족해 보일 수도 있습니다.
하지만 실제로는 그 쉬운 문제들이
문제를 읽는 힘,
접근하는 힘,
패턴을 보는 힘,
그리고 무엇보다 계속할 힘을 만들어줍니다.
프로그래머스를 처음 시작했다면
무조건 어려운 문제부터 붙잡기보다,
내가 20~40분 정도 고민해볼 수 있는 문제를 꾸준히 고르는 것부터 시작해보면 좋겠습니다.
실력은 생각보다
한 번의 정답보다
계속 문제를 여는 습관에서 더 크게 만들어지니까요.

문제를 풀고 끝내지 않고, GitHub 기록으로 남기는 가장 쉬운 방법 지난 글에서 기록 환경 이야기를 했다면, 이번 글은 그 다음 단계입니다. 프로그래머스에서 푼 문제를 GitHub에 자동으로 쌓이게 만드는 방법, 바로 백준허브 연동입니다. 알고리즘 공부를 하다 보면 꼭 이런 순간이 옵니다. - 문제는 분명 풀었는데 어디에 정리했는지 모르겠고 - 예전에

알고리즘 공부는 의외로 문제를 푸는 능력보다 먼저, 계속 풀 수 있게 만드는 환경에서 갈립니다. 처음 알고리즘을 시작하면 보통 이렇게 됩니다. - 오늘은 한 문제 풀었다 - 내일은 못 풀었다 - 일주일 뒤에는 뭘 풀었는지 기억도 안 난다 - 몇 문제를 풀었는지, 어디가 약한지도 감이 안 온다 이때 필요한 건 더 독한 의지가 아니라, 공부가 남는 구조를 먼저
Develog는 단순히 글을 쓰는 공간이 아닙니다. 성장의 과정을 기록하고, 그 기록으로 나를 증명하며 원하는 기회를 얻는 곳이길 바랐습니다. 누군가의 꿈으로 향하는 중간다리가 되는 것, 그것이 Develog를 만든 이유입니다.

문제를 풀고 끝내지 않고, GitHub 기록으로 남기는 가장 쉬운 방법 지난 글에서 기록 환경 이야기를 했다면, 이번 글은 그 다음 단계입니다. 프로그래머스에서 푼 문제를 GitHub에 자동으로 쌓이게 만드는 방법, 바로 백준허브 연동입니다. 알고리즘 공부를 하다 보면 꼭 이런 순간이 옵니다. - 문제는 분명 풀었는데 어디에 정리했는지 모르겠고 - 예전에


알고리즘 공부는 의외로 문제를 푸는 능력보다 먼저, 계속 풀 수 있게 만드는 환경에서 갈립니다. 처음 알고리즘을 시작하면 보통 이렇게 됩니다. - 오늘은 한 문제 풀었다 - 내일은 못 풀었다 - 일주일 뒤에는 뭘 풀었는지 기억도 안 난다 - 몇 문제를 풀었는지, 어디가 약한지도 감이 안 온다 이때 필요한 건 더 독한 의지가 아니라, 공부가 남는 구조를 먼저

Develog는 단순히 글을 쓰는 공간이 아닙니다. 성장의 과정을 기록하고, 그 기록으로 나를 증명하며 원하는 기회를 얻는 곳이길 바랐습니다. 누군가의 꿈으로 향하는 중간다리가 되는 것, 그것이 Develog를 만든 이유입니다.
