답변 1
3
네 안녕하세요~
질문 주신
1. 문제를 혼자 풀어보거나 읽어볼순 없나여?
github에 각 카테고리에 pdf 문서 보시면되는데 , 문제만 먼저 보시고 푸시면 될거 같아요.
solution은 나중에 보시면 될거같습니다.
2. 어떤방식으로 수강을 하면 효율적인지 궁금합니다 깃엔 풀코드가 있어서..
문제를 읽은후, 연습장에 이해한걸 적고, 어떤 자료구조 +알고리즘 생각한거 적기
직접코딩해서 풀어본후 강의해설 보기 이런식으로...
맞습니다. 실전에선 3~4시간을 줘도 시간이 엄청 빠르게 가죠..
코딩 테스트 문제는 너무 다양하다고 생각하지만, 셤 다보고 나면 실상 문제 분류가 가능하고 와 이걸 왜 삽질했지 하는 생각이죠..
예를들어 TwoSum 문제는 정말 대기업 코딩에서 수시로 나옵니다.
Array, Map을 이용해서 ,
어레이를 돌리다가 키값으로 맵에 넣고 키값을 다시 꺼내는 문제들..기업에서 그리고 실전 코딩에서도 엄청 많이 쓰기 때문에 내는거죠
문제를 빌빌꼬면서 내죠
이걸 딱 보자마자 눈치를 채야되는데 그럴려면 몆번 시험을 보시면 그 감이 오겠죠
그래서 결국엔 분류를 잘해서 이문제가 뭘 물어보는지 , 그게 핵심같습니다.(뭐 당연한 얘기지만..)
문제를 먼저 보고
1. 정확히 문제내용을 이해하고 , 연습장을 놓고 일단 그려야 합니다. 머리로만 하면 초보는 망합니다.
2. 담을 그릇을 정한 후, 알고리즘 적용해 보고
3. for, while문을 돌리는 연습을 해야하죠..
한번 풀고나서는 여기 코딩을 하루에 1-2개를 계속 머리로 생각합니다. 뭘 물어본거지 하면서
그리고 분류를 합니다.
초급으로 array+map인지, Map+set인지, Comparator인지, 2차원 배열인지, 2차원배열을 리스트화인지
스택인지, 큐인지, 큐에 넣다가 Array로 담는건지,
중급으로 bfs, dfs인지 , 재사용을 이용한 dp인지, PriorityQueue인지 재귀문제인지..
머리가 깨질거 같고 계속 보게되면 ...어느 레벨에 오고
카카오 , 네이버 코딩을 넘겠죠 제가 볼때는 승자 독식입니다.
어느 레벨에 오르면 다 붙고, 그 레벨에 안되면 계속 불안해서 코딩테스트에 겁을 먹죠
그 레벨을 넘을려면 출퇴근시 그냥 이거 하나 씹어먹자 하면서
문제가 뭘 물어보는건지 ..다시 생각하고
전 좋은 키보드를 사놓고 피아노 치듯이, 그리고 잘 안되면 인형하나 앉혀놓고 인형한테 얘기하면서 풀면
하루 스트레스가 해소가 되요 ㅋㅋ
뭐 막판에 두서가 없어졌네요..하여튼 즐코딩하세요~~