프로그램 언어 선택
- 프로그램 언어별 특징
- 루프
C++, 자바 둘다 같이 동일한 형태로 지원
파이썬 range 이용하여 한 줄 처리까지 가능
Go 는 변수 처음 할당 시 := 연산자 사용, 세미콜론 사용 안 함
TypeScript 는 군더더기 없음
- 제네릭 프로그래밍
파라미터의 타입이 나중에 지정되게 해서 재활용성을 높일 수 있는 프로그래밍 언어
C++ 은 템플릿 이라는 기능으로 구현
자바는 지원
파이썬은 동적 타이핑 언어이지만 타이핑과 함께 제네릭 지원
Go 는 OOP 를 무시한채 실용성에 초점을 맞춰 다른길 가고 있어서 지원하지 않지만 추가 예고함
TypeScript 는 제네릭을 지원하는 형태로 출발
- 배열 반복
C++ 은 : 연산자로 파이썬과 큰 차이 없이 지원
자바도 C++ 와 유사하게 지원
파이썬은 간결하게 지원
Go, TypeScript 는 깔끔한 배열 반복 구문 지원
- 구조체
순차적 메모리 할당이 아닌 복합 자료형
연결리스트를 포함한 배열을 제외한 모든 추상 자료형의 구현
C++ 은 지원
자바는 지원하지 않음
파이썬은 직접 지원하지 않고 네임드 튜플 사용해야 했지만 dataclass 지원하여 정의할 수 있음
Go 는 C 와 같은 느낌이라 지원
TypeScript 는 인터페이스 형태로 지원
- 클래스
C++ 은 지원
자바는 모든 것이 클래스
파이썬은 dataclass 선언 시 내부 함수 기능 자동 구현해줘서 더욱 편리하게 활용
Go 는 구조체가 대신 역할 수행하며 함수를 인터페이스에 정의하여 구현할 수 있어서 다형성 지원
TypeScript 는 지원
- 코딩 테스트 적합 언어
타입스크립트가 가장 우아하지만 우아한 것이 중요한 게 아님
- 면접관이 쉽게 이해 가능?
수도 코드랑 거의 비슷해서 파이썬 모르는 면접관도 이해시킬 수 있음
C++ 은 코어 개발 외에는 잘 쓰이지 않기 때문에 잘 모르는 면접관이 많음
- 코딩 플랫폼에서 지원?
거의 모든 플랫폼에서 파이썬 지원함
파이썬 제한하는 경우도 간혹 있음
- 유연한 언어?
동적 타이핑은 거대한 앱에서는 유지 보수와 가독성에 불리함
알고리즘은 빠르게 구현해야 하는 코테에서 엄격함이 생산성 저해하는 요인이 될 수 있음
지나치게 유연하게 작성할 경우 면접관이 페널티 줄 수 있으므로 코드 재 검토 후 정리하는 습관 필요
- 언어 레벨에서 풍부한 기능 지원?
자체 라이브러리에서 지원함