반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

짧은코딩

구현 본문

반응형

구현이란 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정이다. 

 

problem-thinking-solution 과정을 거쳐야 한다.

 

-완전 탐색: 모든 경우의 수를 주저 없이 다 계산하는 해결 방법

-시뮬레이션: 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행하는 문제

 

-int 자료형 데이터의 개수에 따른 메모리 사용량

리스트 중에 크기가 1,000만 이상인 리스트가 있다면 메모리 용량 제한으로 문제를 풀 수 없을 수 있다.

 

일반적인 기업 코딩 테스트 환경에서는 파이썬으로 제출한 코드가 1초에 2,000만번의 연상을 수행한다고 가정하면 크게 무리가 없다.

만약 시간 제한이 1초이고 데이터의 개수가 100만 개인 문제가 있으면 시간 복잡도는 O(NlogN) 이내로 풀어야한다. 실제로 N = 1,000,000일 때 Nlog2N은 약 20,000,000이기 때문이다. 이처럼 문제를 풀 때 시간 제한과 데이터의 개수를 먼저 생각하고 예측할 수 있어야한다.

 

-코딩 테스트에서 파이썬의 실행 시간이 느린 이유

실무에서 파이썬으로 프로그램을 개발할 대는 GUP와 연동하고 반복적 행렬 계산은 C 언어로 만들어진 파이썬 코어 S/W가 동작하여 속도가 항상 느리지 않다. 하지만 코딩 테스트에서는 GPU를 사용하는 경우가 없다.

 

반면에 pypy3는 파이썬3의 문법을 그대로 지원하면서 실행 속도는 빠르다. 따라서 코딩 테스트 환경이 pypy3를 지원하는지 확인하고 이를 활용해야 한다.

 

-파이썬과 API

파이썬은 API 개발 문제 구현 유형과 상당히 맞닿아 있다.

 

예를 들어 서버와 통신하는 프로그램 모듈을 작성해야 한다면 알고리즘 문제와 별개로 웹 서버나 데이터 분석 지식도 필요하다. 이런 점에서 파이썬은 다른 언어에 비해 매우 간결하고 직관적인 코드의 라이브러리를 사용할 수 있다.

반응형

'코딩 테스트(Python) > 이것이 취업을 위한 코딩 테스트다' 카테고리의 다른 글

시각  (0) 2022.05.07
상하좌우  (0) 2022.05.07
그리디-큰 수의 법칙  (0) 2022.05.04
그리디-거스름돈  (0) 2022.05.04
시간, 공간복잡도  (0) 2022.05.04
Comments