1일차 - class1++ 완 - 기초적인 입출력, 자료형, 배열 길게받아서 빈도수 ++하는 방법

2일차 - class2++ 9문제완 - 브루트 포스 알고리즘- n적다싶으면 그냥 완전 탐색해서 돌리기 / n이 너무많아진다면??? 이분탐색


3일차 - class2++ 24문제완 - 그리디,stack, dp재귀가 본격적으로 나오기시작. 스택의 성질 이해했고, 모든 경우의 수를 다보는것이 그렇게 시간소요가 크지않을것같다면 그냥 전부 다 구하는게
나을 수도 있음. 실제로 모든 경우의 수를 구해도 통과하는 문제라면, 굳이 여러가지 조건들을 걸어가며 범위를 줄여가고 구현을 복잡하게 하는게 그닥 의미가없음.
지금은 여러가지 접근방법으로 풀고있지만 실전 코딩 테스트는 결국 n분안에 빠르게 그리고 최대한 정답률을 높이는게 중요함.


4일차 - class2++ 완

Stable sort 익혀두기

범위 찾을때 lower bound ,upper bound 쓰면 너무 유용함, 이분탐색 2개짜지말고 이거 두개 활용하기

Countsort 생각해두기 (시간제한이 아닌, 메모리 부족일때 유용, 다만 숫자의 범위와 N값보고 예상해보는게 중요)

나누기 = 각 요소마다 미리 나누기 해도 괜찮음( 해쉬 문제에서 숫자가 너무커지는데 공식몰라서 헤맴)

Min초기화할때 쓸때 INT_MAX쓰기

변수이름 내가 알아보기쉽게 좀 길더라도 의미알게 짓기. 수정할때 너무 복잡함 , 구현부분 로직부분 구별하기

반복문 쓸때 자꾸 i 두번쓰는 실수함 -> 어차피 n^4이상은 안쓰므로 i,j,k미리 초기화 해두기 안쓰더라도

마인크래프트 문제풀면서 느낀것
논리적으로 복잡하게 구현하는거 -> 틀릴확률높음 어차피 코테에서 그런문제 안나옴 (풀더라도 시간낭비)
풀때 n보고 -> 브루트포스할만한가? -> 안할만한것같다 -> 뭔가 간단한 판별식으로 경우의수 줄여보기

내일부터 클래스 3드과자~