비판적 사고를 연마하기 위한 17가지 코딩 과제

프로그래밍 기술을 향상시키고자 한다면, 기존 언어든 새로운 언어든, 코딩 문제를 해결하는 것이 가장 효과적인 방법 중 하나입니다.

수많은 플랫폼과 웹사이트들이 등장하여 다양한 수준의 코더들에게 흥미로운 과제를 제공합니다. 새로운 언어를 배우고자 하거나, 압박이 심한 상황에서 자신의 기량을 시험하고 싶을 때, 코딩 문제는 재미와 동시에 실력 향상의 기회가 될 수 있습니다.

코딩 문제 해결은 단순히 즐거움을 넘어 문제 해결 능력 향상, 언어에 대한 깊이 있는 이해, 새로운 알고리즘 학습으로 이어집니다. 알고리즘이 채용 과정에서 중요한 역할을 한다는 점을 고려할 때, 이러한 능력은 경쟁력을 높이는 데 도움이 됩니다.

이 글에서는 최고의 코딩 챌린지 웹사이트와 플랫폼들을 소개합니다. 일부는 초보자에게 적합하지만, 다른 일부는 숙련된 개발자를 위한 것입니다. 또한 아이들이 코딩에 흥미를 느낄 수 있는 방법도 함께 제시합니다. 어린이 친화적인 코딩 또한 중요한 트렌드입니다.

에다비트

새로운 기술을 배우는 가장 효과적인 방법은 꾸준한 상호작용입니다. 프로그래밍도 예외는 아닙니다. 최고의 서적을 읽는 것만으로는 실질적인 지식을 얻기 어렵습니다.

에다비트는 짧고 간결한 코딩 문제를 제공하여 빠르게 코딩 능력을 향상시킬 수 있도록 설계된 플랫폼입니다.

해커랭크

해커랭크는 개인과 기업 모두에게 코딩 과제를 제공하는 데 주력하는 회사입니다. 대부분의 과제는 프로젝트 완성을 위한 지침을 제공하며, 사용자는 자신만의 방식으로 문제를 해결할 수 있습니다.

현재 Java, Python, JavaScript, PHP, C++, SQL 등 다양한 언어를 사용하여 문제를 해결할 수 있습니다.

제출된 코드는 정확성과 같은 요소를 기반으로 자동으로 평가되며, 사용자는 글로벌 리더보드에서 자신의 순위를 확인할 수 있습니다. 또한 플랫폼에서는 ‘스프린트’라는 콘테스트도 개최됩니다.

House of Codes는 해커랭크에서 찾을 수 있는 상위 50개 챌린지에 대한 흥미로운 글을 작성했습니다. 관심이 있다면 읽어볼 가치가 있습니다.

코더바이트

코더바이트는 최신 프로그래밍 트렌드를 반영한 독특한 플랫폼입니다. 주요 기능은 코딩 문제이며, 전 세계 수많은 사용자들이 더 나은 개발자가 되도록 돕고 있습니다. 코더바이트는 다른 유사한 플랫폼들과 달리 실제 산업 수준의 문제 해결에 중점을 둡니다.

이 플랫폼의 장점 중 하나는 Google, LogMeIn, HBO, PWC 등 주요 소프트웨어 브랜드들과 협력하고 있다는 점입니다. 이러한 기업에 취업을 희망한다면, 코더바이트를 통해 필요한 기술을 시험해 볼 수 있습니다.

등록 후에는 챌린지와 알고리즘 중에서 선택할 수 있으며, 사용자들이 제출한 수십만 개의 솔루션을 통해 특정 프로그래밍 주제를 더 폭넓게 이해할 수 있습니다.

기업은 이 플랫폼을 통해 심사 프로세스를 관리할 수도 있습니다. 등록된 기업은 개발자 개개인을 평가하는 데 유용한 추가 도구들을 이용할 수 있습니다.

코드워즈

꾸준한 코딩 연습을 통해 문제를 해결하는 새로운 방법을 지속적으로 발견할 수 있다는 점은 분명합니다. 코드워즈는 이러한 아이디어를 기반으로 설계되었습니다. 이 플랫폼은 다양한 언어로 연습 문제와 ‘카타’를 제공합니다.

연습 문제를 완료하면 점수를 얻을 수 있을 뿐만 아니라, 다른 프로그래머들이 특정 문제를 어떻게 해결했는지도 확인할 수 있습니다.

새로운 언어를 연습하고 싶다면 코드워즈는 즐겨찾기에 추가해 둘 만한 훌륭한 사이트입니다.

지원되는 언어 목록은 다음과 같습니다.

  • 클로저
  • 러스트
  • 스위프트
  • 파이썬
  • 하스켈
  • 자바스크립트
  • PHP
  • 코틀린
  • 스칼라

또한 많은 다른 언어들이 베타 프로그램에 포함되어 있지만, 사용 시 잠재적인 병목 현상이 발생할 수 있습니다.

에다비트는 초급자와 고급 코더 간의 격차를 해소하고자 합니다. 로드맵에서 전체 기능 목록을 확인할 수 있습니다.

코딩게임

학습 플랫폼으로서의 게임은 새로운 개념은 아니지만, 최근 들어 더욱 많은 플랫폼들이 이 분야에 진입하고 있습니다. 코딩게임은 게임화된 경험을 통해 프로그래밍 문제를 제공하는 플랫폼 중 하나입니다. 단순히 코드만 작성하는 것이 아니라, 게임 환경을 구축하고 개발자가 작성하는 코드는 게임 진행 방식에 영향을 미칩니다.

코딩게임과 같은 플랫폼을 통해 기술 개발자는 자신의 결정이 어떤 결과로 이어지는지를 더 잘 이해할 수 있습니다.

코딩게임은 수준 낮은 JavaScript 코드를 작성하는 곳이 아닙니다. 이 플랫폼은 최고 수준의 알고리즘과 숙련된 개발자들을 보유하고 있어, 신입 개발자와 베테랑 개발자 모두에게 훌륭한 솔루션을 제공합니다.

해커어스

해커어스는 해커톤, 코딩 챌린지 및 다양한 종류의 대회를 개최하는 것으로 잘 알려진 플랫폼입니다.

또한 현대 기업의 채용 과정에 대한 정보를 얻을 수 있는 곳이기도 합니다. 해커어스 데이터베이스에서 제공되는 문제 중 일부는 실제 면접에서 질문으로 나올 수 있습니다.

해커어스가 채용 솔루션을 제공하는 데 집중하고 있기 때문에 가능한 일입니다. 최고 수준을 목표로 한다면, 최고와 함께해야 합니다. 그것은 여러분 모두에게 도움이 될 것입니다.

프로그래머

프로그래머는 모든 수준의 개발자를 위한 역동적인 디지털 연구실입니다. 프로그래머를 통해 브라우저에서 코드를 작성하고, 컴파일하고, 프로젝트를 직접 실행할 수 있습니다. 이 플랫폼은 현재 사용되는 모든 주요 언어를 지원하며, 모바일 앱이든 데이터베이스 구조든 모든 유형의 프로젝트를 지원할 수 있습니다.

프로그래머는 Java, C++, PHP, C#, Ruby, Python, iOS에 대한 맞춤형 과제 세트를 제공합니다. 각 세트에는 100개 이상의 챌린지가 포함되어 있으며, 사용자의 투표 및 기타 요소를 기준으로 정렬할 수 있습니다.

프로그래머의 가장 큰 장점 중 하나는 새로운 경험을 바탕으로 즉각적인 피드백을 얻을 수 있다는 점입니다. 이는 특정 언어에 대한 인증서나 기존 사용자로부터의 피드백을 통해 이루어집니다.

코딩 트레인

다니엘 쉬프만은 프로그래밍에 관한 훌륭한 자료를 제작하는 1인 제작자입니다. 코딩 트레인은 프로그래밍 관련 문제를 해결하는 데 도움이 되는 흥미롭고 유용한 비디오를 공유하는 개인 유튜브 플랫폼입니다.

다니엘은 독특한 접근 방식을 사용합니다. 그는 웹사이트에 모든 것을 호스팅하는 대신 유튜브를 챌린지 플랫폼으로, 웹사이트를 솔루션 플랫폼으로 활용합니다.

주로 P5.jsProcessing에 기반한 다양한 챌린지를 제공합니다. 이 두 가지 도구는 예술 및 그래픽 디자인 분야에서 널리 사용됩니다.

울프람 챌린지

울프람은 컴퓨터 과학 분야에서 세계적으로 가장 잘 알려진 회사 중 하나입니다. 울프람의 플랫폼은 무한한 가능성을 제공하여 많은 사람들을 놀라게 합니다.

우리는 울프람 알파가 아닌 2018년에 도입된 새로운 영역인 울프람 챌린지에 초점을 맞추고 있습니다.

이 플랫폼에는 “최저 비용 솔루션” 또는 “최적의 적합성”을 찾는 다양한 유형의 챌린지가 있습니다. 이는 기계 학습 작업과 유사한 설정으로, 특정 테스트 세트를 분류할 때 가장 뛰어난 성능을 보이는 함수(예: 신경망 기반)를 찾는 것을 목표로 합니다.

울프람은 다른 웹사이트나 플랫폼과 비교했을 때 코딩뿐만 아니라 광범위한 문제를 다루고 있습니다. 비판적 사고 능력을 향상시키고 싶다면, 울프람이 좋은 선택이 될 것입니다.

리트코드

리트코드는 무작위 챌린지를 제공하는 사이트가 아니라, 미래를 준비하는 데 도움이 되는 플랫폼입니다.

리트코드는 최신 학습 방법, 복잡한 과제, 뛰어난 대시보드를 제공합니다.

또한 원활한 경험을 장려하기 위한 기사, 토론 포럼 및 기타 커뮤니티 기능도 제공됩니다. 많은 리트코드 사용자들은 Uber, Amazon, Stripe 등과 같은 기업에 취업하는 데 성공했습니다.

코드포스

코드포스는 하드코어 코더들을 위한 플랫폼입니다. 소프트웨어 엔지니어, 침투 테스터, AI 애호가, 기계 학습 전문가를 위한 플랫폼으로, 경쟁적인 리더보드와 뛰어난 사용자 경험으로 유명합니다.

시작하는 것은 생각보다 쉽습니다.

엑서시즘

많은 코딩 챌린지 플랫폼의 이면에는 훌륭한 이니셔티브가 있습니다.

엑서시즘 또한 예외는 아닙니다. 설립자 카트리나 오웬은 “엑서시즘을 통해 사람들이 코딩을 충분히 배워 개발 분야에서 일자리를 찾을 수 있도록 돕는 것이 목표”라고 말했습니다.

이 글을 쓰는 현재 48개 언어로 된 2,600개 이상의 연습 문제가 있으며 모두 무료로 제공됩니다. 코틀린을 배우거나, Vim을 더 잘 활용하고 싶으신가요? 새로운 기술을 배우고 흥미로운 도전을 경험해 볼 좋은 기회입니다!

코드펜

프런트 엔드 개발에서도 여전히 코딩이 활발하게 이루어지고 있습니다!

코드펜에서 해결해야 할 과제는 주로 사용자 커뮤니티에서 제공됩니다. 예를 들어, 누군가가 ‘머티리얼 디자인 카드’를 게시하고 더 좋게 만들거나 유사한 변형을 만들 것을 요청할 수 있습니다.

이러한 방식으로 창의적인 아이디어를 얻을 수 있으며, 다른 사람들이 실시간으로 문제를 어떻게 해결하는지 살펴볼 수 있습니다. 또한 다른 사람들이 제출한 코드를 프로젝트에서 자유롭게 재사용할 수도 있습니다.

플렉스박스 프로기

프런트 엔드 개발에 대해 말하자면, Flexbox에 대한 이해는 어느 정도 수준에 도달했습니까? Flexbox를 다시 한번 복습하는 것은 항상 좋은 방법입니다!

플렉스박스 프로기는 Flexbox 사용과 정렬의 28단계를 안내하는 재미있는 작은 게임입니다. 이 게임은 복습보다는 도전 과제에 가깝습니다. 하지만 답을 보지 않고 모든 레벨을 완료할 수 있을까요?

그리드 가든은 매우 유사한 게임이지만, Flexbox가 아닌 Grid 기능을 사용한다는 점이 다릅니다.

파이바이트

파이썬은 가장 배우기 쉬운 언어로 널리 알려져 있으며, 많은 프로그래머들이 처음으로 접하는 언어이기도 합니다. 하지만 파이썬의 강력한 기능은 과소평가해서는 안 됩니다.

현재 많은 기계 학습 및 데이터 세트 생성이 파이썬으로 수행되고 있으며, 이는 결코 작은 성과가 아닙니다!

파이바이트는 최신 파이썬 정보, 코딩 문제, 기타 중요한 자료를 제공하여 파이썬 실력 향상에 도움을 줍니다. 각 챌린지에는 코드 비교 및 문제 해결 방법을 배울 수 있는 리뷰가 포함되어 있습니다.

코드컴뱃

코드컴뱃은 역동적이고 도전적인 코딩 환경을 제공하는 또 다른 코딩 게임입니다. 코딩게임과 달리 코드컴뱃은 교사에게 초점을 맞추고 있습니다. 결과적으로 이 플랫폼을 사용하여 학교 수준에서 프로그래밍 및 문제 해결을 가르칠 수 있습니다.

코드컴뱃은 교사들을 위한 특별 도구, 자료 및 기타 리소스를 제공합니다. 또한 게임 자체가 매우 재미있습니다. 학생들이 개발한 코드컴뱃 게임은 시각적으로도 훌륭하며 이미 아이들에게 매우 인기 있습니다. 아이들에게 가상 환경을 개발하는 데 도전하도록 하는 것은 미래에 멋진 것을 창조하도록 영감을 줄 수 있습니다!

팅커

소개 부분에서 언급했듯이 모든 부모를 위한 플랫폼도 준비했습니다. 팅커는 어린이들이 코딩을 배우는 데 도움이 되는 재미있는 플랫폼입니다. 팅커는 드래그 앤 드롭 인터페이스를 기반으로 하여 어린이들이 주어진 문제를 해결할 수 있도록 돕습니다.

팅커는 단순히 아이들을 위한 플랫폼이 아닙니다. 청소년의 경우, 블록을 사용하는 대신 Python 또는 JavaScript를 사용하여 솔루션을 작성하도록 할 수 있습니다.

결론: 도전을 받아들이세요!

이 글에 소개된 모든 사이트와 플랫폼에는 총 10,000개가 넘는 독특한 코딩 문제가 있습니다. 따라서 모두 해결하는 것은 불가능합니다.

대신 자신의 요구 사항에 가장 적합한 플랫폼을 찾고, 하나의 플랫폼에 집중하는 것이 좋습니다. 우정을 쌓고, 새로운 것을 배울 수 있으며, 어쩌면 새로운 직장을 찾거나 고수익 회사에서 일하게 될 수도 있습니다!

데이터 과학을 공부하고 싶다면 코딩 과제와 프로젝트를 제공하는 DataCamp를 고려해 보는 것도 좋습니다.

다음 단계로, 인기 프로그래밍 언어에서 주석을 추가하는 방법에 대해 알아보는 것은 어떨까요?