백준때문에 괜히 숏코딩이 좋네 뭐네 하는 이야기가 많고 거긴 그게 맞는것처럼 떠드는데 팀으로 작업시 그런거 없습니다.
또한 괴상하게 속도제한을 둬서 못 푸는 문제가 많은데, (예시 :input 대신 stdin 쓰라던가), 현실 작업시 그딴거 없고 ast.literal_eval, picklescan 등 무조건 안정성을 우선해서 쓰는 유틸들이 많습니다.
각 언어의 목적이 다른 만큼 반드시 최적의 코드를 짜는 것보다는, 언어의 목적에 맞게 깔끔하고 알기 쉬운 코드를 쓰는 것을 목표로 공부해 주세요.
예를 들어 Python은 속도를 생각한 코드가 아닙니다. 당연히 외부 모듈을 쓰는게 기본이고, 직접 모든걸 짜서 쓰는건 의미가 없습니다. C의 경우 아무리 작은 코드라도 포인터를 놓치면 0점입니다. 포인터 악용도 당연히 안하는게 좋습니다.
일부 Procedure 기반 언어 빼고는 공통되는 부분은 전부 함수로 통일하고 Util로 빼내고 Class / 함수 / 모듈단위로 묶는게 정석입니다. 프로젝트가 커지면 커질수록 abstract / interface에 해당하는 기본 모듈, 모듈을 상속하는 모듈, 또 구현하는 모듈.... 로 묶게 되는게 정상입니다.
일부 학생들이 지 코딩 잘한다고 파이썬으로 숏코딩해서 과제 제출하는데 너를 찾을 것이다 그리고 대학원에 보낼 것이다