카테고리 없음
잘 작성한 코드?
실수에서찾는중
2024. 2. 26. 13:03
- 시간복잡도
시간복잡도는 똑같은 결과를 얼마나 더 빠르게 처리할 수 있을지에 대한 척도가 되며, 입력 수가 많아질수록 속도가 기하급수적으로 늘어나기 때문에 알고리즘을 구현할 때 가장 중요하게 생각합니다. - 공간복잡도
공간 복잡도는 실행하면서 메모리를 얼마나 사용하는지에 대한 척도입니다. - 가독성
가독성은 일정 기준에 따라서 작성했는지에 대한 척도입니다. 코드는 항상 이해하기 쉽고 각 과정이 명확하게 드러나도록 해야 나중에 코드를 수정하거나 재사용하기 쉽습니다.
실수 줄이기
- 존재하지 않는 요소에 접근하는지 확인합니다.
배열을 10개로 만들었다면 마지막 인덱스는 9입니다. - 파이썬에서는 배열 슬라이싱 기능을 사용할 때 [시작위치(포함), 종료 위치(포함 안 함), 간격]이라는 걸 항상 기억합니다.
- '~보다 크다/ 작다' 조건으로 조건식을 만들 때, 조건식의 경계값을 제대로 체크하지 않아 의도하지 않게 동작하기도 합니다.
- 연산자 우선순위 문제도 확인합니다.
- 자료형 변환도 항상 유념해야 합니다.
문자열 + 숫자 형태로 결합한다면 str() 함수로 미리 문자열을 만들어 합치는 것이 좋습니다. - 최대치나 최소치 설정을 제대로 했는지 검사하는 습관도 중요합니다.
- 반복문이나 재귀 함수에서 종료 조건이 어긋나 영원히 프로그램이 끝나지 않는 일도 종종 일어납니다.
- 절대 0으로 곱하거나 나누지 마세요.