CodeGym /Java Blog /무작위의 /스포츠로서의 코딩. 경쟁 프로그래밍에 대한 간략한 가이드
John Squirrels
레벨 41
San Francisco

스포츠로서의 코딩. 경쟁 프로그래밍에 대한 간략한 가이드

무작위의 그룹에 게시되었습니다
우리 인간은 우리가 하는 모든 일에서 서로 경쟁하는 경향이 있으며, 그것이 아마도 종으로서 우리가 성공한 주요 이유 중 하나일 것입니다. 프로그래밍도 예외는 아닙니다. 코딩은 상당히 복잡하고 다층적이며 까다로운 분야이기 때문에 코더가 누가 가장 유능한지 찾기 위해 서로 경쟁하는 데 열심인 것은 놀라운 일이 아닙니다. 스포츠로서의 코딩.  경쟁 프로그래밍에 대한 간략한 가이드 - 1

경쟁 프로그래밍이란 무엇입니까?

경쟁 프로그래밍은 프로그래밍 기술과 알고리즘 및 데이터 구조 와 같은 CS 분야 지식을 사용하여 코딩 문제를 해결하는 일종의 마인드 스포츠입니다.. 스포츠 프로그래머라고도 하는 이러한 대회의 참가자는 다양한 제한 사항과 제공된 사양에 따라 코드를 작성해야 합니다. 승리하기 위해 스포츠 프로그래머는 제공된 작업에 대한 솔루션이 될 코드를 제시해야 합니다. 우승자는 소요된 시간, 최종 코드의 품질, 실행 시간, 프로그램 크기 등과 같은 여러 기준에 따라 선언됩니다. Google, Facebook, Amazon, Microsoft 등과 같은 많은 대형 기술 회사 , 경쟁력있는 프로그래밍을 지원하고 대회 조직에 참여하는 동시에 재능있는 스포츠 프로그래머를 고용합니다. 1970년대부터 시작된 ICPC(International Collegiate Programming Contest)는 가장 오래된 프로그래밍 경쟁 대회로 알려져 있다.

경쟁 프로그래밍의 이점

다음은 전문 코더로서 경쟁 프로그래밍에 참여할 수 있는 간단한 혜택 목록입니다.
  • 논리 및 알고리즘, 기본 수학, 데이터 구조, 컴퓨팅 사고, 디버깅 등과 같은 향상된 프로그래밍 기술.
  • 귀하의 전문 포트폴리오 및 이력서에 큰 도움이 됩니다.
  • 시장 리더의 주목을 받고 매력적인 일자리 제안을 받을 수 있는 기회.
  • 코딩의 다양한 측면을 연습하는 방법.
  • 개발자 커뮤니티의 소셜 연결 및 네트워킹.
  • 흥미 진진하고 경쟁적인 콘테스트.

경쟁력 있는 프로그래밍 플랫폼

이들은 인터넷에서 사용할 수 있는 가장 인기 있는 경쟁 프로그래밍 플랫폼 중 일부입니다. CodeChef는 매달 수백 개의 챌린지와 몇 가지 새로운 콘테스트가 있는 경쟁력 있는 프로그래밍 커뮤니티입니다. Codewars는 프로그래밍 문제가 있는 코딩 온라인 커뮤니티입니다. 다른 사용자가 평가할 자신의 챌린지를 제출할 수 있습니다. 가장 인기 있는 경쟁 프로그래밍 플랫폼 중 하나입니다. 매년 정기적인 경쟁 프로그래밍 마라톤을 개최하고 수십 가지 도전 과제를 제공합니다. HackerEarth에는 모든 사람이 사용할 수 있는 다양한 난이도의 10,000개 이상의 프로그래밍 과제가 있습니다. Codeforces는 수백 개의 프로그래밍 과제가 있고 모든 종류의 콘테스트를 자주 주최하는 러시아의 경쟁력 있는 프로그래밍 플랫폼입니다. 컴퓨터 과학의 다양한 영역에서 프로그래밍 과제를 제공하고 연례 Codesprints 및 기타 경쟁 프로그래밍 콘테스트를 개최합니다.

경쟁 프로그래밍 대회

매년 수십 개의 경쟁 프로그래밍 대회가 개최됩니다. 다음은 가장 유명하고 권위있는 것들입니다.
  1. ICFP 프로그래밍 대회
1998년부터 매년 6월 또는 7월경에 개최되는 국제 프로그래밍 대회.
  1. 탑코더 마라톤 경기
상당한 상금이 걸린 경쟁적인 프로그래밍 커뮤니티 콘테스트에서 인기가 있습니다. Topcoder의 마라톤은 보통 약 2주 동안 지속되며 참가자에게 솔루션을 개선할 기회를 제공합니다. 각 매치에는 모든 솔루션의 품질을 출력하는 다른 채점 메커니즘이 있습니다.
  1. CodeChef 롱 챌린지
CodeChef Long Challenge는 최대 10일 동안 진행되는 월간 콘테스트입니다.
  1. 페이스북 해커컵
Hacker Cup은 Facebook의 연례 공개 프로그래밍 대회입니다. 전 세계 참가자에게 공개되며 상당한 상금이 걸린 여러 라운드로 구성됩니다.
  1. 구글 코드 잼
Google Code Jam은 Google에서 주최하고 관리하는 국제 프로그래밍 대회입니다. 2003년부터 매년 개최.
  1. ACSL(미국 컴퓨터 과학 리그)
ACSL(American Computer Science League)은 중고등학생을 대상으로 컴퓨터 과학 및 프로그래밍 대회를 조직합니다.
  1. 국제 대학생 프로그래밍 대회(ICPC)
International Collegiate Programming Contest는 대학생을 위한 알고리즘 프로그래밍 대회입니다. 가장 오래된 경쟁 프로그래밍 대회 중 하나입니다.

팁 및 권장 사항

경쟁 프로그래밍에 참여하려는 경우 도움이 될 수 있는 몇 가지 팁과 권장 사항으로 결론을 내리겠습니다.
  • 프로그래밍 언어를 선택하십시오.
이것은 매우 명백하지만 여전히 언급할 가치가 있습니다. 경쟁 프로그래밍에서 사용하기에 가장 편한 프로그래밍 언어를 선택하는 것부터 시작해야 합니다. C++, Java, Python은 대부분의 경쟁 프로그래밍 대회에서 가장 일반적이고 보편적으로 인정됩니다.
  • 데이터 구조 및 알고리즘에 대한 좋은 지식을 개발하십시오.
최소한 데이터 구조 및 알고리즘의 기본 사항을 아는 것은 경쟁적인 프로그래밍 문제를 성공적으로 해결하는 데 필수적입니다. 이러한 주제에 대한 학습 자료 링크 는 알고리즘데이터 구조 에 대한 기사를 확인하십시오 .
  • 프로그래밍 문제에 대한 코딩 스타일과 접근 방식을 찾으십시오.
경쟁 프로그래밍 챌린지 참가자가 해결해야 하는 대부분의 챌린지에는 하나 이상의 솔루션이 있습니다. 목표는 최적의 솔루션을 찾는 것입니다. 따라서 고유한 코딩 스타일을 개발하는 데 집중하고 이러한 프로그래밍 문제에 대한 접근 방식을 통해 코드 실행에 필요한 시간과 양념 측면에서 최상의 솔루션을 코딩할 수 있습니다.
  • 다른 경쟁 프로그래밍 웹 사이트 및 콘테스트를 시도하십시오.
모든 경쟁 코딩 콘테스트 및 챌린지에서 알고리즘 문제를 해결해야 하지만 이러한 문제의 스타일과 참가자에 대한 요구 사항은 접근 방식에서 난이도 및 시간 감도에 이르기까지 여러 가지 방식으로 다를 수 있습니다. 따라서 일반적으로 경쟁 프로그래밍에 대한 더 나은 느낌을 갖기 위해 적어도 몇 가지 다른 문제를 시도하는 것이 좋습니다.
  • 프로그래밍 문제를 정기적으로 해결하십시오.
규칙적인 연습은 거의 모든 일에서 성공하는 데 중요하지만 경쟁 프로그래밍에서는 특히 그렇습니다. 코딩 문제에 대한 적절한 사고 방식과 접근 방식을 개발하려면 정기적인 교육이 많이 필요합니다. 특히 경쟁 프로그래밍 문제가 너무 어렵게 느껴질 수 있는 초기에는 위에 나열된 전문 플랫폼으로 자신을 제한할 필요가 없습니다. 1200개 이상의 Java 코딩 작업과 함께 CodeGym을 사용하여 연습할 수 있을 뿐만 아니라 코딩 게임 또는 기술 인터뷰 준비 플랫폼을 사용할 수 있습니다 .
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION