Skip to content

Latest commit

 

History

History
39 lines (35 loc) · 1.91 KB

APSS_03.md

File metadata and controls

39 lines (35 loc) · 1.91 KB

알고리즘 문제해결 전략 3장

좋은 코드 짜기

  1. 전역변수를 적재적소에 활용하자
  2. 코드 재사용(메소드 분리)
  3. 명확한 명명법
  4. 표준 라이브러리 사용(ex. 자료구조)
  5. 항상 같은 형태로 프로그램 작성하기
  6. 모든 자료를 정규화해서 저장하기(외부에서 자료를 입력받자마자 정규화하는 것을 추천)
  7. 코드와 데이터 분리하기(ex. 2021 카카오 순위 검색)

자주하는 실수

1. 배열 범위 밖 원소 접근(ArrayIndexOutOfBoundsException)

  • 예방법은 배열 크기를 정할 때 신중하게 접근하는 것

2. 일관되지 않은 범위 표현방식

  • 범위 표현방식의 혼동을 피하려면 프로그래밍 언어에서 지정한 범위 표현 방식 사용
  • [a, b) 사용
  • for (int i = a; i < b; i++), 다른 for (int i = a; i <= b; i++)과 같은 범위와 혼용하다보면 헷갈릴 여지가 많다

3. 상수오타를 조심하자

4. 스택 오버플로

  • 지역변수에 메모리가 큰 배열 등의 선언에 조심하자

5. 최대최소의 예외 처리에 신경쓰자

디버깅

가장 작은 입력을 통한 테스트

개발도구를 이용한 디버깅 전에 수행하기 좋다

개발도구를 이용한 디버깅

그외 주의점

너무 큰 중간값

계산 중간에 자료형의 범위를 넘어서는 것을 주의하자

무한대

  • 무한히 큰 값을 설정할 때 오버플로로 인한 음수값이 발생하지 않고 적당히 크면서 정수 범위에 들어서는 값을 사용
  • int max = 987654321

실수 자료형

  • 실수 자료형은 근사값을 나타낸다는 것을 알고 있자
  • 정수형으로 계산하는 것은 좋은 습관이다

실수 기록

문제들을 풀면서 위의 리스트에 해당하는 실수를 경험했을 때 기록하자