코딩테스트 쳇바퀴도는거 같아서 만들어본 기록용 레포지토리입니다.
-
문제를 모델링한다.
- 문제와 입출력 예제를 읽고
문제를 이해
한다. - 문제에 등장하는 변수들을 예상되는
타입
과자료구조
로 미리 적어놓는다. - 어떤
조건
을 통과해야 하는지 넘버링해서 적어놓는다. - 사용될만한
알고리즘
을 이용해 전반적인 흐름을 그린다.
- 문제와 입출력 예제를 읽고
-
풀이 모델이 적절한지 체크한다.
시간 제한
에 걸리지 않는지 확인한다. (Big O)데이터의 경곗값
을 처리했는지 확인한다. (자료구조의 초기값이나 배열의 인덱스)- 문제에서 제시한
예외
를 처리했는지 확인한다. (없는 경우는 -1 출력)
-
생각한 모델을 구현한다.
대소 관계
를 철저히 지킨다. (이상, 이하, 초과, 미만)- 구현 도중 예측하지 못한 상황이 발생할 경우 구현을 멈추고
모델링부터 수정
한다.
-
예측대로 출력되지 않을 경우 출력문을 이용해 디버깅한다.
- 원소의 길이가 가변인가?
- Yes: Array
- No: List, Set, Map, Queue, Stack, Priority Queue
- 순서를 고려해야 하는가?
- Yes: List, Queue, Stack, Priority Queue
- No: Set, Map
- 페어로 저장해야 하는가?
- Yes: Map
- No: Set
- 원소를 찾는 로직이 어떤 것인가?
- Index: List
- FIFO: Queue
- FILO: Stack
- Priority: Priority Queue