:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
16/07/05 14:52
프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략 이요.
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966260546&orderClick=LAG&Kc= 위에 hackerrank.com는 저도 애용하고 있습니다. 영어라 너무 하기 싫지만... 한글론 https://www.acmicpc.net/ 이곳도 있어요.
16/07/05 15:08
머지소트나 퀵소트를 머리속에서 생각을 못해내는게 당연합니다.
원하시는게 알고리즘 이론 공부인지 아니면 문제 풀이를 위한 알고리즘 공부인지 .. 결국 하나로 수렴하긴 하는데 왜 공부하는지 좀 알려주시면 좋을것 같아요. 제일 좋은건.. intro to algorithm 책으로 MIT open course ware를 수강하는게 제일 좋을것 같은데... 이건 좀 힘들것 같고 ㅠㅠ 학교 자료구조랑 알고리즘 수업을 일단 수강하시는게 좋을 것 같내요..
16/07/05 15:40
저도 hackerrank + 프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략(by 구종만) 추천 입니다..
비전공자로 프로그래밍 해봐야지 결심하고 올해 2월 부터 했는데 해커랭크하면서 금방 실력이 느는게 보이네요.. 파이썬으로 시작해서 첨엔 뭣 모르고 했는데 하나하나 풀다보니 점수랑 등수 오르는 재미가 있고 푸는 재미도 있네요.. 내가 몇등하고 있나 보면서 경쟁심을 갖고 하다보니 게임하는 것 같이 재밌더라구요.. 알고리즘/자료구조/수학/파이썬/regular expressioin 문제는 풀 수 있는 건 거의 풀어보고 있어요.. 순서는 파이선 먼저 하시고(파이선 신택스랑 간단한 알고리즘/자료구조 문제와 파이선에서 지원하는 자료구조 문제들로 있고 상대적으로 쉽습니다.), 나머지는 번갈아가면서 정답률 높은 거 위주로 처음 도전하시는게 좋은 것 같아요..(첨엔 90프로 대 먼저 풀고 담엔 80프로 .. 이런 식으로 점점 어려운 문제 푸는 것이 좋은듯) 너무 어려운 문제는 스킵하시고 하다보면 나중에 안 풀리던게 풀리더라구요.. 사실 어려운 게 어떤 포인트를 이해하지 못한 거라서 계속 잡는다고 풀리지는 않는 경향이 있더라구요.. 실력이 오르면 그 포인트가 보여서 쉽게 풀리게 되는 거 같아요.. 글구 파이썬으로 시작하실거면 기왕이면 파이썬 3 로 시작하길 권해드려요.. 저도 첨엔 파이썬 2 로 하다가 중간에 바꿨는데, 많이 바뀌는 건 없는데, 최신 버전으로 하는게 좋은 것 같습니다.. syntax 가 약간 다르고 built-in 함수 들이 약간 다른데,, 좀 더 코드가 명확하고 옵션들이 편한 것들이 많다고 생각합니다.. discussion 섹션란에 문제 설명(접근법/사용하면 좋은 function/허들 포인트)도 올리는데 정리하는 차원에서 도움이 됐던거 같아요.. https://www.hackerrank.com/neverloseks 파이선 문제는 전부 풀었고, 알고리즘은 현재 상위 3프로까지 왔네요.. 수학이랑 다른 부분도 거의 많이 풀어서 질문 주시면 도와드릴게요.. 설명하다보면 저도 실력이 느는 거 같더라구요.. 생각 정리도 되고.. 탑코더, 코더포스 등 코딩 사이트가 여러군데 있는데 너무 대회위주이고 연습 부분은 해커랭크가 편한듯 합니다.. 강의 들으실 거면 udacity 강의가 초급은 들을만 했고(영어이긴 함) cousera 강의도 들을만 했는데(이것도 영어),, 사실 강의 보다는 코드 두들기는게 도움이 많이 됩니다.. 저도 강의는 들어보다가 대충 스킵하고 그냥 코딩하는 걸로 바꿨어요.. python idle 을 켜놓고 이것저것 코드 실행하면서 손에 익히면서 하면 좋더라구요.. 저도 아직 idle 켜놓고 문법 맞나 확인할 때도 있네요.. 어느정도 문제를 풀다가 좀 실력이 안 는다 싶을 때, 알고리즘 강의 듣는게 좋은데,, mit 나 yale 강의가 좋았어요.. (이것도 필요한 것만 골라서 들어봄)
16/07/05 15:55
그리고 독학으로 공부하지 말고 ㅠ_ㅠ.. 스터디를 하시던가 과외를 하시던가. 커뮤니티 활동을 하시는걸 추천합니다 .. 혼자서는 공부 못해요.
16/07/05 15:57
http://www.sangkon.com/2015/09/13/about_ds_book/
여기 나온 책중에 골라보시면 될듯합니다. 대회중심 알고리즘 커뮤니티는 https://algospot.com 이런 곳도 있습니다.
16/07/05 19:49
좋은 링크 감사합니다.
링크해주신 글을 읽으면서 의문이 생겼는데, 자료구조(?)가 컴퓨터 공학적으로 [코딩에 중점을 두어 생각할때] 어떤가치를 가지는 분야인지 궁금합니다.
16/07/05 20:56
알고리즘은 문제를 해결하는 방법론이고, 코딩측면에서 보면 입력된 [자료]를 가공해서 원하는 출력을 얻어내는 기술이라고 볼 수 있습니다. 전공 커리큘럼에서는 자료구조가 알고리즘의 선수과목입니다. 배열, 스택, 큐 같은 자료구조를 다루는 문제는 단순히 자료를 처리하는 문제를 넘어서 알고리즘 구현과 밀접하게 관련이 있습니다.
단순화 시키면 알고리즘이 자로구조 위에서 작동한다고 보는게 좋겠네요.
|