# 문제 푸는 방법
유의사항
최소 30분에서 1시간은 혼자 고민하면서 풀기
문제를 포기하기 전 현재까지의 과정을 반드시 기록
0. 상수조건에 따른 접근 방법 생각
1. 의사코드를 먼저 작성하고 구현하기
그 이유는
문제점과 예외를 발견하기 쉽고
전체적인 큰 그림을 볼 수 있기 때문이다
주의 사항은
일반인도 이해 가능한 수준으로 매우 쉽게 작성해야 하고
프로그래밍적 문법은 최소화해서 작성하는 것이 좋다
2. 의사코드 테스트 케이스 확인 (예외 테스트 케이스 추가 확인 필수)
3. 코드 작성
4. 제출 전, 시간복잡도 분석하기
# 공부법
답안 코드와 나의 코드를 비교하며,
나의 문제점과 답안의 해결책을 정리한다
그리고 답안에 사용된 알고리즘과 문제를 서로 연결해서 정리한다
마지막으로, 깨달은 점을 정리한다
# 공부 주의사항
아는 것만 공부하지 않도록 한다
정리하는 경우, 단순 기록만 하는 것이 아닌 나만의 용어로 정리한다
# 테스트 케이스
기본 케이스, 경계값, 에지케이스로 총 3가지로 구분된다
1. 기본 케이스
문제의 입력 값을 넣어보고 확인해 보는 것
2. 경계값
최소값과 최대값 혹은 처음값과 마지막값을 넣어보고 확인해 보는 것
3. 에지케이스
예상치 못한 입력값이나 특수한 케이스(ex. 예외)를 넣어보고 확인해보는 것
# 입력 길이와 시간복잡도
수백개(ex. 최대 3000) -> O(N^2)
수만개(ex. 최대 100만) -> O(NlogN)
수백만 이상(ex. 최대 1000만) -> O(logN)
# 문제 분석 연습하기
1. 문제를 쪼개서 분석
2. 제약 사항을 정리하고 테스트 케이스 추가
3. 입력 크기 분석
4. 핵심키워드 (책 36page)
5. 데이터 흐름이나 구성을 파악하라
# 프로그래머스 유의사항
문제 화면 우측 상단 컴파일 옵션: -std=c++17로 설정
'자료구조 & 알고리즘 > [합격자되기] C++ 코딩테스트' 카테고리의 다른 글
[코테 합격자 되기] 09장 트리 (0) | 2024.12.13 |
---|---|
[코테 합격자 되기] 08장 해시 (0) | 2024.12.12 |
[코테 합격자 되기] 06/07장 스택과 큐 (0) | 2024.11.19 |
[코테 합격자 되기] 04/05장 반드시 알아야 할 C++ 문법 (0) | 2024.11.15 |
[코테 합격자 되기] 03장. 시간 복잡도 (0) | 2024.11.14 |