어떻게 경쟁적인 프로그래밍을 진행합니까
" Programming make us to think " -- Steve Jobs
이를 증명함으로써 경쟁적인 프로그래밍이 발전할 수 있었다.이것은 지능 운동으로 참여한 사람들이 운동 프로그래머로 여겨진다.
레벨 1:
언어 선택 (c/c++,java,python)
경쟁 프로그래밍에는 네 가지 언어가 주어진 임무를 완성할 수 있다.C/C++는 속도와 라이브러리(STL Standard Template Library 때문에 대부분의 프로그래머들의 사랑을 받는다.다른 두 언어는 C/C++에 비해 실행 속도가 느립니다.
C++ 자습서 및 참조 자료에 대한 다음 링크: -
CPP Tutorials (official cpp website, providing the cpp tutorials from basic)
레벨 2:
DSA(데이터 구조 및 알고리즘) 및 수학
그럼에도 불구하고, 당신은 C++, DSA, 수학을 완전히 배워서 경쟁 프로그래밍에서 중요한 역할을 하고 있다.이 문제들은 논리와 비현실 세계와 관련된 일에 기초를 두고 있다.이런 수준을 완성하기 위해서 너는 반드시 디지털 감영술과 수학을 배워야 한다.
가장 중요한 DSA 및 수학 항목: -
Graham scan 또는 동물을 폐쇄하기 위해 최소 울타리를 구축하는 데 사용되는 또 다른 볼록 알고리즘.
레벨 3:
야생동물에 오신 걸 환영합니다:)
두 단계를 마치면 온라인 프로그래밍 경연대회에 참가할 수 있습니다.오늘날 많은 사이트에서 사용할 수 있으며 초보자급을 완성하고 매월, 매주, 매년의 도전을 계속할 수 있다.
경쟁 프로그래밍 과제를 제공하는 웹 사이트: -
CodeForces
CodeChef
TopCoder
HacerEarth
Google Code Jam
Facebook Hacker Cup
레벨 4:
경기 과정
순위는 문제 해결의 수, 프로그램의'수용'에 필요한 시간과 실행 시간, 프로그램 길이와 알고리즘 등 더 많은 품질에 따라 분배된다.빨간색, 파란색, 녹색 휘장은 상위 3위의 코딩자에게 사용할 수 있다.
문제의 해결 방안은 사이트 포럼에서 찾을 수 있지만 그런 것들은 보지 마세요.논문 한 편을 가지고 알고리즘을 써서 주어진 문제를 해결할 가능성을 쓰다.시간을 들여 그것을 해결하다.한 시간 뒤에도 결과를 얻지 못하고 포럼으로 이동해 참고할 수 있다.인내심을 가지고 견지해야 한다.
경쟁적 프로그래밍의 장점과 관건
프로그래밍 대회에 참가하면 학생들이 컴퓨터 과학을 공부하는 열정을 높일 수 있다.프로그래밍 경연 등 경쟁적인 경기에서 얻은 기능도 직업 전망을 개선하는 데 도움이 된다.'기술 면접'을 통과하는 데 도움이 되기 때문에 후보들이 복잡한 프로그래밍과 알고리즘 문제를 즉석에서 해결하도록 요구한다.
경쟁적인 프로그래밍, 특히 전문 소프트웨어 개발자들의 비판도 있다.한 가지 관건은 많은 빠른 리듬의 프로그래밍 경쟁은 경쟁사들에게 나쁜 프로그래밍 습관과 코드 스타일(예를 들어 매크로를 불필요하게 사용하고 OOP 추상과 주석이 부족하며 짧은 변수 이름을 사용하는 등)을 기르게 할 것이다.진정한 소프트웨어 프로젝트는 보통 수천 줄의 코드가 있고 대형 팀에서 장기적으로 개발되기 때문이다.
유명 프로그래머들이 이미 알고 있는 해결 방안으로 문제를 해결하는 과도한 경쟁에서 시간을 낭비하는 것보다 현실 문제를 해결하는 데 시간을 투자하는 것이 낫다는 관점도 있다.
참고 자료: -
Cpp refernces
Reference
이 문제에 관하여(어떻게 경쟁적인 프로그래밍을 진행합니까), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/veluvj/how-to-competitive-programming-19k7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)