코딩 실력 향상을 위한 20개 이상의 전문 퍼즐 사이트
프로그래밍은 창의성과 새롭고 흥미로운 아이디어를 떠올리는 능력에 크게 좌우됩니다. 우리는 대부분 흔한 문제를 해결하는 데 대부분의 시간을 쓰는데, 그래서 우리 마음은 흔히 '창의력 부족'이라는 병에 걸리곤 합니다.
코드를 해독하거나 퍼즐을 푸는 것은 논리적 사고와 문제 해결 능력을 기르는 재미있는 방법입니다. 학습 속도를 높이고 빠른 의사결정 능력을 향상하는 데 도움이 됩니다.
논리적 사고를 테스트하고 코딩 실력을 향상하는 데 도움이 될 프로그래밍 퍼즐 웹사이트 몇 가지를 소개합니다.
참고: 중요한 건 코드의 결과/출력뿐입니다. 자신이 전문인 프로그래밍 언어를 선택하세요.
21. 탤런트버디 (Talentbuddy)
14개 프로그래밍 언어로 면접 문제를 풀고, 아이디어를 구현하며, 복잡한 풀스택 웹앱(자바스크립트) 구축 능력을 기르고, 멘토와 함께 웹 개발을 배울 수 있는 곳입니다. 다양한 난이도의 수많은 문제가 준비되어 있습니다.
20. 4클로저 (4Clojure)
150개 이상의 문제로 초보 클로저리안(Clojurian)들이 대화형 흥미로운 퍼즐을 통해 언어를 배울 수 있게 돕습니다. 처음 몇 문제는 사전 경험이 없는 사람도 풀 수 있을 만큼 쉽습니다. 난이도는 뒤로 갈수록 높아집니다.
19. Pskills
Pskills(프로그래밍 스킬)는 다양한 프로그래밍 언어 온라인 테스트를 제공하는 올인원 코드 학습 플랫폼입니다. C, 자바, PHP, .NET, HTML 면접 질문도 찾아볼 수 있습니다.
18. 위즈아이큐: 컴퓨터 프로그래밍 (WizIQ)
무료 컴퓨터 프로그래밍 온라인 연습 테스트를 제공하는 교육 웹사이트입니다. 다양한 프로그래밍 스킬을 테스트하고 컴퓨터 기초를 배울 수 있습니다. 주관식과 객관식 문제가 모두 나옵니다.
17. C 퍼즐 (C Puzzles)
흥미로운 C 프로그래밍 문제 수십 개가 있습니다. 예상 출력과 에러(있다면)를 찾아내야 합니다. 타인이 작성한 효율적인 코드를 읽고 이해하는 좋은 연습이 됩니다.
16. 99 프롤로그 문제 (Ninety-Nine Prolog Problems)
7개 섹션으로 구조화된 99개 프롤로그 문제 모음입니다. 주어진 질문에 대한 가장 우아한 해법을 찾는 것이 목표입니다. 효율성도 필요하지만 논리적 명확성이 더 중요합니다. 몇 가지 쉬운 문제는 내장 술어를 사용해 간단히 풀 수 있습니다.
15. 리트코드 (LeetCode)
기술 코딩 면접 대비를 위한 웹 플랫폼인 리트코드 온라인 저지입니다. 190개 이상의 문제가 있으며, 본인의 아이디어/로직/해법을 제출해 정답 여부를 확인할 수 있습니다. 현재 C#, Bash, MySQL, 루비 등 9개 언어를 지원합니다.
14. 인터뷰 케이크 (Interview Cake)
소프트웨어 엔지니어링 지원자의 코딩 면접 대비를 돕는 훌륭한 플랫폼(또는 학습 도구)입니다. 하지만 프로그래밍 지식을 다듬는 데도 활용할 수 있습니다. 뇌를 비틀어놓을 흥미롭고 도전적인 문제들이 가득합니다.
13. 코드이벨 (CodeEval)
학습자와 개발자가 실력을 뽐낼 수 있는 올인원 챌린지 플랫폼입니다. 현재 18개 이상의 프로그래밍 언어를 지원합니다. 앱 빌딩 대회에 참가해 상금을 탈 수도 있습니다. 플랫폼은 성과에 기반한 순위를 부여하며, 위치, 언어, 코드 품질별로 필터링할 수 있습니다.
12. 로잘린드 (Rosalind)
문제 해결을 통해 생물정보학과 프로그래밍을 배우는 웹 도구입니다. 파이썬 기초를 배우고, 동적 프로그래밍, 게놈 재배열, 계산적 질량 분석, 문자열 알고리즘 등 다양한 생물정보학 주제의 근간이 되는 알고리즘을 발견할 수 있습니다.
11. 프로그래밍 프락시스 (Programming Praxis)
해답(모든 문제는 아님)과 함께 수많은 흥미로운 문제로 채워진 심플한 블로그입니다. 거의 매주 2회 새롭고 흥미로운 문제를 올립니다. 평균적으로 각 연습은 약 1시간 정도 소요됩니다.
참고: 개발자 커리어를 위한 15개 이상의 트렌딩 프로그래밍 언어
10. 코드워즈 (Codewars)
커뮤니티가 만든 카타(kata)를 풀며 다른 사람들과 함께 훈련하여 실력을 향상할 수 있습니다. 랭크와 명예를 얻기 위해 카타를 해결하세요. 커뮤니티와 해법, 접근법, 혁신적인 기법을 토론할 수 있습니다.
9. 코딩뱃 (CodingBat)
자바와 파이썬을 위한 또 다른 온라인 코드 연습 플랫폼입니다. 모든 난이도의 문제가 있으며, 막히면 코드 도움 옵션이 있습니다. 또한 리포트 페이지에는 파이썬/자바 문제와 메인 페이지의 '스톡 문제' 대 맞춤 작성 문제 간 필터 컨트롤이 있습니다.
8. 코드셰프 (CodeChef)
개발자 커뮤니티에 도전과 참여를 유도하고, 연습, 대회, 개발을 위한 플랫폼을 제공하기 위해 만들어졌습니다. 연습 세션은 난이도별로 나뉘며, 웹사이트 자체에 상당한 규모의 커뮤니티가 있습니다.
7. 데일리 프로그래머 (Daily Programmer)
레딧의 데일리 프로그래머 계정은 쉬움, 중간, 어려움 3단계로 분류된 도전적인 문제 모음입니다. 댓글 섹션에 제출하는 모든 답안은 커뮤니티 멤버가 리뷰하므로, 답변과 다양한 의견을 얻을 수 있습니다.
6. 스포이 (SPOJ)
사용자 제출 프로그램을 자동 평가하는 온라인 저지 시스템인 스피어 온라인 저지입니다. 수천 개의 문제가 있으며 45개 이상의 프로그래밍 언어와 컴파일러, 유연한 테스트, 동적 상호작용을 지원합니다.
5. 프로젝트 오일러 (Project Euler)
단순한 코딩이나 수학적 통찰만으로는 풀 수 없는 수학/컴퓨터 프로그래밍 문제 모음입니다. 500개 이상의 문제가 포함되어 있으며, 해결한 문제 수에 기반한 성취 레벨로 진행 상황을 추적할 수 있습니다.
4. 코더바이트 (Coderbyte)
사람들이 코딩 스킬을 연습하도록 돕기 위해 설계된 스마트 웹 애플리케이션입니다. 챌린지는 쉬움, 중간, 어려움으로 난이도가 나뉘며, 파일 다운로드/업로드 없이 완료할 수 있습니다. 어떤 종류의 프로그래밍 질문이든 물어볼 수 있는 질문 페이지도 있습니다.
3. 탑코더 (Topcoder)
디자인, 개발, 데이터 사이언스 카테고리로 나뉜 흥미롭고 도전적인 문제를 제공합니다. 실력을 향상하고 상금을 탈 기회를 얻으면서, 실제 조직이 실제 문제를 해결하도록 도울 수 있습니다.
참고: 미해독 유명 코드 11가지 | 미스터리한 암호문
2. 해커어스 (HackerEarth)
후보자의 논리적, 기술적 스킬을 자동 평가하는 SaaS 애플리케이션을 제공합니다. 셀렉션 플랫폼이나 개발자 집계 역할을 하며 기업이 똑똑한 인재를 찾는 데도 돕습니다. 전반적으로 커리어에 도움 될 사려 깊은 챌린지를 제공하는 고품질 웹사이트입니다.
1. 해커랭크 (HackerRank)
참고: 코드 작성을 위한 10개 이상의 베스트 프로그래밍 소프트웨어
해커랭크는 5개 이상의 도메인에서 선택할 수 있으며, 머신러닝, 함수형 프로그래밍, 인공지능 등 원하는 분야의 실력을 향상할지 결정할 수 있습니다. 다양한 난이도의 여러 콘텐츠가 여러분을 도전하게 하고 코딩 실력을 끌어올립니다. 게다가 좋은 랭크는 IT 기업의 고위직 취업으로 이어질 수 있습니다.