알고리즘 문제 해결 전략 세트 책에 대한 질문과 공부법 질문이 있습니다.

  • kh9694
    kh9694

    안녕하세요. 약 1달 전 알고리즘 문제 해결 전략세트를 구매한
    프로그래밍 초보 대학생입니다.

    먼저 질문 드리기에 앞서 간단한 제 소개를 하는 것이 더 답변에 도움이 되시지 않을까 하여 간략히 적어보겠습니다.

    프로그래밍을 시작한 지는 작년 8월부터 시작하였네요. 굉장히 기간이 짧죠... 8월에 c언어 공부를 자습으로 하였고 9월부터 학교 강의를 수강하며 c언어 실습 문제를 풀고 전화번호부와 같은 간략한 프로젝트를 혼자서 해보았습니다. 또한, 자료구조를 학교에서 배우는 것보다 심화하여 배우기 위해 윤성우 저자의 자료구조 책을 보았구요. 코드로 자료구조의 코드들을 만들지는 못합니다. ㅜㅜ 그저 개념과 코드를 보면 이렇구나 이해할 정도의 수준인 듯 합니다.

    그리하여 현재까지 제가 배운 것을 정리해보면 c언어, 자료구조, 그리고 어제 문법 공부를 마친 java가 있겠네요.

    저는 복수전공을 한지라 어느새 4학년입니다. 프로그래밍을 시작한 지는 실질적으로 1학기가 되었네요. 그래서 뭔가 할 것도 많고 가슴이 답답하기도 하고 무언가 실전스럽게 배우려고 하기 위해 항상 노력 중입니다.

    그런 와중에 구종만 저자분의 '알고리즘 문제 해결 전략'이라는 책을 접하였고 책의 구성이 다른 알고리즘 책과는 다르게 접근하여 실전적이라는 느낌을 많이 받았습니다. 맘에 들어서 구매를 하였죠.

    그러나 문제는 지금 부터였습니다. 어찌보면 단순한 문제라고 보실 수 있겠네요. 저는 c언어로 되있으리라 생각하였는데 보니 c++이더라구요. 그래서 어차피 java가 학사 과정 중에 있기도 하고 현재 현장에서 배워야만 하는 언어라고 들었기에 java를 먼저 학습하기로 결정하였습니다. 같은 객체지향이기에 비슷할 것 같아서요.

    근데 java의 문법을 익혀놓고서 이 책을 보아도 어색한 측면이 많더군요. 특히나 제가 작성한 코드와 책의 코드 사이 간 간결성이나 효율성을 비교를 하려해도 다르기에 참 애매하구요.

    취업에 정말 걱정이 많은 저는 많은 분께 여쭈고 싶습니다. 이 책을 공부하기위해서는 꼭 c++ 언어에 대해 어느 정도 실력을 갖추고 있어야하는지 궁금합니다. 그렇지 않다면 어떤 방법으로 공부를 해야 이 책을 알차게 학습할 수 있을지 여쭈고 싶습니다.

    또한, 1년이 남은 이 시점 어떤 방향을 설정하고 프로그래밍을 공부해야 효율적인 공부가 될 것인지, 미래에 도움이 될 것인지가 정말 궁금합니다..

    현직이나 저와 같은 처지에 있는 많은 분들의 조언을 듣고 싶습니다. 혹여나 시간을 내시어 답변을 해주신다면 한 마디 한 마디 소중히 가슴에 담아두고 시작하고자 합니다. 시간이 없다는 것은 핑계일 수 있습니다. 그러나 시간을 효율적으로 사용할 수는 있을 것이라 생각합니다. 어떠한 공부를 하는 것이 가장 바람직한지 항상 고민하여 방황을 하고 있는 시기입니다.

    혹시나 이러한 글이 게시판 성격에 문제가 된다면 삭제하도록 하겠습니다.


    9년 전
5개의 댓글이 있습니다.
  • VOCList
    VOCList

    개인적으로 종만북(책 이름이 너무 길어요...)에 쓰인 C++ 문법은 그다지 특출나게 타 언어에 없는 이해하기 힘든 개념을 쓴 코드들은 아니라고 생각합니다. 분명 생소하신 부분은 있겠으나, 해당 코드들을 이해할 수 있을 정도의 C++ 소양은 이후에도 어떤 모양으로든 글쓴이분에게 도움이 될 수 있을 것 같아요.
    오히려 책을 공부하기 위해서 필요한 능력이란 관점에서 보면, 어떻게든 이해되지 않는 부분은 넘어가면서 공부할 수도 있지 않을까요? 분명 코드로 쓰인 부분 외에는 이해하시면서 넘어갈 수 있을테니까요.
    실전 중심의 알고리즘서적에 끌려서 책을 구매하셨다고 하셨고, 개인적으로도 이런 책은 이해에 그치지 않고 직접 코딩을 끝내고 나서야 얻을 수 있는 부분이 분명히 있다고 생각합니다. 하지만 모두가 시간이 많은 건 아니니... 글쓴이분이 본인 사정대로 여력 닿는 한에서 이해하고 넘어가시는 게 제일이 아닐까요?


    9년 전 link
  • amok
    amok

    저는 학교에서 자바와 C를 배웠고, C++은 인터넷에서 몇시간정도 대충 찾아보면서 공부한 게 다입니다. 그래도 책을 읽는데 별로 지장은 없더라구요. 다만 STL은 잘 활용하지 못하겠어서 레퍼런스를 꾸준히 보고 있습니다. STL의 반복자 같은 부분이 따로 공부한 적이 없어서 좀 생소하긴 했는데 대충 하다보니까 대충 알겠더라구요.


    9년 전 link
  • Being
    Being

    간결성이나 효율성을 비교하신다고 하셨는데, "좋은 코드를 쓰는 법"의 각론은 언어별로 다른 부분이 작지 않습니다. 따라서 책을 잘 읽으면 C++로 좋은 코드를 쓰는 법을 어느 정도 배울 수 있겠습니다만, C++에 대한 지식이 선행되어야겠죠. 그러나 큰 틀에서 무엇이 중요한지에 대한 이해는 언어에 대한 지식이 부족하더라도 배우는 데 지장이 없다는 것이 제 의견입니다.


    9년 전 link
  • mongsiry014
    mongsiry014

    일단 C++이든 자바든 객체지향 언어를 제대로 공부하시고 나면 다른 언어들은 익히시기 수월해지실 겁니다. 그리고 프로그래밍 언어를 몇가지 익히시고 나면 그 다음부터는 새로운 언어를 접할 때마다 처음에 언어 공부하듯이 정석대로 하는게 아니라 구글링을 통해 필요한 정보를 습득하게 됩니다. 처음 접하는 언어나 라이브러리도 구글링을 하면서 원하는대로 프로그램을 만들 수 있게 됩니다. 그리고 처음보는 언어로 쓰여진 프로그래밍 코드도 이해하는데 어렵지 않게 됩니다. 수 년동안 다양한 프로젝트를 하다보면 자연스럽게 그렇게 되는 것 같습니다.
    일단 처음에는 C++이나 자바 같은 언어에 관한 두툼한 책 한권을 차근차근 공부하면서 익혀보세요. 개인적으로는 자바보다는 C++을 이런식으로 공부하고 나중에 자바는 필요한 부분만 공부하는 것을 추천합니다. 이유는 C++ 공부했던 사람이 자바를 배우는 것이 자바를 배웠던 사람이 C++을 배우는 것보다 쉽다고 생각해서인데요. 학교에서 이미 자바를 배우셨다고 하시니 나중에라도 C++에서 필요한 부분들은 찾아서 공부해보세요. 훗날 다른 언어들의 개념을 정확하게 이해하기 위해서는 C++은 필수라고 생각합니다. 특히 포인터 같은 개념은 자바에 없으니 유심히 보세요.
    그리고 나중에 스크립트 언어도 하나 알고 계시면 큰 도움이 되실 겁니다. 파이썬이나 루비 같은 언어요. 자바나 C++보다 익히기 훨씬 수월하실겁니다.
    위에 내용은 개발자로써 필요하다고 생각되는 내용이고 알고리즘 문제 해결 전략 코드를 이해하려면 C++ STL 내용정도만 알고 계셔도 큰 문제 없으실 것 같습니다. 알고스팟만 아니라 탑코더나 코드포스같은 여러 문제 풀이 사이트들이 있는데 C++로 코드를 짠 사람들이 많아서 다른 사람들 코드를 이해하시려면 C++ 코드를 읽으시는데 익숙해지시는 것이 좋을 것 같습니다. STL 내용은 책으로 공부하시는 것보단 구글링으로 내용 찾아보시는 걸 추천합니다.
    사실 프로그래밍을 시작하신지 얼마 되지 않았는데도 벌써 자료구조론과 알고리즘을 익히실 정도면 굉장히 진행이 빠르신겁니다. 제가 학부생일 때는 1학년 때 C++을 배우고 2학년 때 자료구조론을 배우고 3학년 때 알고리즘 과목이 있었거든요. 자바도 2학년 과목중에 있었던 것 같습니다.


    9년 전 link
  • kh9694
    kh9694

    코드를 보며 꾸역꾸역 이해할 수 있을 수는 있을 듯 하지만 제 자신이 코드로 작성해보지 않고 저자 분의 코드와 비교를 하여 얻는게 없다면 얼마나 성장할 수가 있는지 궁금합니다. ㅜㅜ 그렇다고 이를 위해 c++을 배우자니 부담이 되고 참 고민입니다. 알고리즘을 제대로 배우고 싶은 욕심만 넘치고 한정된 시간 내에서 어떻게 나아가야할지를 모르겠네요.
    차라히 c로 된 알고리즘 책을 사볼까도 생각을 해보지만 사실 이 책만한 책을 제대로 보지는 못했어서요. 혹시 다른 책도 괜찮은 책이 있는지 궁금합니다!

    그리고 윗 분에 말씀에 대해 한 가지 말씀드리면 ruby언어는 sinatra와 조합하여 '코드스터디'라는 사이트에서 수강을 하였었습니다!
    많은 댓글 정말 감사드립니다.


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.