Python
알아두면 좋은 것 !!
수줌이
2021. 2. 19. 19:41
⭐ 문제 풀이를 위한 중요 테크닉 !!
1. 방향(direction)을 설정해서 이동하는 문제 유형
-
dx, dy라는 별도의 리스트를 만들어 방향을 정하는 것이 효과적 !!
-
예) 현재 캐릭터가 북쪽을 바라보고 있을 때 북쪽으로 이동하기 위해서 x와 y좌표를 각각 dx[0], dy[0] 만큼 더한다. 즉, 현재 위치에서 (-1,0)만큼 이동시키는 것이다.
-
이처럼 코드를 작성한다면, 반복문을 이용하여 모든 방향을 차례대로 확인할 수 있다는 점이 유용하다 !!
2. 파이썬은 다른 언어에 비해 구현상의 복잡함이 적은편이지만, 데이터 처리량이 많을 때는 꼭 메모리 제한을 고려하자 !!
-
일반적인 코딩테스트에서는 메모리 사용량 제한보다 더 적은 크기의 메모리를 사용해야 한다는 점 정도만 기억 !!
-
리스트를 이용할 때 고려사항 : 메모리 제한
3. 그리디 알고리즘 문제 유형
-
문제 풀이를 위한 최소한의 아이디어를 떠올리고, 이것이 정당한지 검토할 수 있어야 답을 도출할 수 있다.
4. 완전 탐색 알고리즘
-
일반적인 완전 탐색 알고리즘은 비효율적인 시간 복잡도를 가지고 있으므로, 데이터 개수가 큰 경우에 정상적으로 동작하지 않을 수 있다.
-
확인(탐색)해야 할 전체 데이터의 개수가 100만개 이하일 때 완전 탐색을 사용하는 것이 적절하다 !!
5. 2차원 리스트를 선언할 때
-
컴프리헨션을 이용하는 것이 효율적 !!
⭐ 다양한 유형에 대비하기 위해 파이썬 문법을 자유롭게 사용할 수 있도록 훈련하는 것이 중요 !!
이 글은 "이것이 코딩 테스트다" 에서 배운 내용을 정리하여 작성하였습니다.