알고리즘 문제해결전략 (저자:구종만)
01-3 코딩과 디버깅에 관하여 (43p~86p)
3.1 도입 :코딩의 중요성을 간과하지 말라
프로그래밍 대회에서 좋은 성적을 올리기 위한 비결은 읽기 쉬운 코드를 작성하는 것
3.2.좋은 코드를 짜기 위한 원칙
1. 간결한 코드 작성-> 버그생길 우려가 줄어들고 디버깅이 쉬워짐,전역변수 많이 사용하지 않기,c++매크로사용
2.적극적으로 코드 재사용하기 -> 코드를 모듈화
3.표준라이브러리 공부하기
4. 항상 같은 형태로 프로그램을 작성하기 ->자주 작성하는 알고리즘이나 코드 등에 대해서는 한 번 검증된 코드를 작성하고 이것만을 꾸준히 사용하기.
5.일관적이고 명료한 명명법 사용하기 -> int a그만 사용하기..
6.모든 자료를 정규화해서 저장하기
7.코드와 데이터를 분리하기
3.3자주 하는 실수
남의 실수로부터 배워 유사한 실수 저지르지 않기
산술오버플로, 배열 범위 밖 원소의 접근,일관되지 않은 범위 표현 방식 사용하기, 컴파일러가 잡아주지 못하는 상수 오타,스택 오버플로, 다차원 배열 인덱스 순서 바꿔쓰기, 잘못된 비교 함수 작성, 최소 최대 예외 잘못 다루기, 연산자 우선순위 잘못쓰기, 너무 느린 입출력 방식 선택, 변수 초기화 문제
소감: 다 내가 많이 하는 것들이다. 적어두고 두고두고 보고 코드 짤때마다 유의하면서 짜야겠다.
3.4디버깅과 테스팅
디버거 대신 하면 좋은것: 작은 입력에 대해 테스트, 단정문쓰기, 프로글매 계산 중간 결과 출력
3.5변수 범위의 이해
오버플로 피하는 두가지 방법 - 큰 자료형 쓰기, 연산의 순서 바꾸기
3.6실수 자료형의 이해
실수비교하기
1.비교할 실수의 크기들에 비례한 오차 한도를 정한다.
2.상대오차를 이용한다.
소감:
'알고리즘 > 개념' 카테고리의 다른 글
[알고리즘 문제 해결 전략] 03 알고리즘 설계 패러다임 - 무식하게 풀기 (0) | 2022.08.03 |
---|---|
[알고리즘 문제 해결 전략] 02 알고리즘 분석 - 알고리즘의 정당성 증명review (0) | 2022.05.22 |
[알고리즘 문제 해결 전략] 02 알고리즘 분석 - 알고리즘 시간 복잡도 분석 review (0) | 2022.04.03 |
알고리즘 문제해결 전략 (0) | 2022.03.07 |
dfs 알고리즘 (0) | 2021.05.30 |