PS/[코테 합격자 되기]
[코테 합격자되기] 00코테를 준비하기전에 ~ 03알고리즘의 효율 분석 정리
2soon2soon
2024. 4. 10. 12:27
코드를 작성하기전 여러가지의 예외 테스트 케이스를 추가하라.
문제를 못풀어도 사고과정을 기록하라.
시험 보듯 공부하라
문제를 이해한 뒤에는 나만의 언어로 요약하라
전체시간의 50~60%는 문제 분석에 시간을 쓰는 것이 좋다
1. 문제를 동작 단위로 쪼개서 분석하라(한번에 분석하면 복잡하고 쪼개서 분석하면 유연해진다)
2. 제약사항을 파악하고 테스트 케이스를 추가하라
3. 입력값을 분석하라.(입력값의 크기가 크다면 특정 시간복잡도의 알고리즘은 사용 불가해진다)
4. 핵심 키워드를 파악하라.(EX. '최적의 해'라는 키워드 -> 너비 우선 탐색)
5. 데이터 흐름이나 구성을 파악하라(데이터 삽입 삭제가 빈번하면 힙, 데이터가 50개미만이고 입력값을 깔끔하게 정리하기 어려우면 하드코딩 등)
의사코드를 먼저 설계하라 BY 자연어
1. 세부구현이 아닌 동작 중심으로 작성하라
2. 문제 해결 순서로 작성하라
3. 충분히 테스트하라(뒤늦게 잘못된 부분을 수정할수록 시간적 비용이 커진다)
프로그래머스의 장점
카카오 네이버 등의 기업이 프로그래머스에서 코딩테스트를 진행함.
시간복잡도
연산횟수 1000~3000만정도로 고려해서 시간복잡도 생각하면 됨. << 이거 뭔말인지 잘 모르겠음 예전에 봤던 교재는 데이터개수랑 시간보고 어떤 시간복잡도의 알고리즘 쓸지 유추하는 방식이였는데 이거는 무슨 방식인지 모르겠음. 일단 넘어가 나중에 실습하면서 방식 소개하겠지.