여기에 이런 질문 올려도 될지 모르겠지만..올려봅니다..

E_Dn의 이미지

안녕하세요.
저는 전문적으로 프로그래밍을 하는 프로그래머도 아니고 프로그래밍을 전공하는 대학생도 아닌
프로그래밍 언어를 공부하고 있는 고등학생입니다.
평소 관심이 많았지만 그동안 부모님의 반대로 프로그래밍 공부를 못하다가,
정보올림피아드에서 수상한다는 조건으로 허락을 받았습니다.
그런데 정보올림피아드 지역예선이 5월 말입니다.
그래서 저는 열혈강의 C언어 본색이라는 책으로 3월부터 시작해서 지금은 거의 막바지인 콘솔입출력과 파일입출력 부분을 공부하고 있습니다. 곧 이어서 C++언어 본색으로 C++도 배울꺼구요.
앞에서 간단히 말했듯이, 프로그래밍 실력을 최대한 빨리 끌어올려야 합니다.
물론 저 자신의 엄청난 노력과 끈기가 필요한것도 알고 있습니다.
이미 어느정도 각오 하고 있구요...
하지만, 전 주위에 조언자도 없고, 소식통도 없습니다.
그래서 이렇게 부탁드립니다.
C++언어 본색을 마친 후에 공부해야할 프로그래밍 실력 향상에 도움이 되는 책좀 추천해 주세요..!
검색해보니 자료구조나 알고리즘이 중요하다고 하는데 제가 공부하는 방향을 잡을수 있도록 그 외에도 조언 부탁드립니다!!

simminjo의 이미지

초-고 까지 올림피아드 경험을 해보았습니다.

문제를 제대로 풀기위해선 C문법은 기본이구요.
(포인터, 어레이, 루프, 조건문등 정도는 잘 사용하셔야 합니다.)

이후 필요한 최소한의 자료구조들이 있습니다.
본선문제는 ICPC대회의 문제와 별반차이가 없을정도로 어렵기에 많은 알고리즘공부를 필요로 하지만

제가 이전에 2000년도 근처정도까지 나갔을시의 예선문제는
트리정도까지만 할줄알면 풀 수 있을 정도였습니다.( AVL, 레드블랙 까진 보실필요는 없습니다. )
QUEUE, TREE, STACK 정도의 개념을 가지고 있는 상태에서 현실세계의 문제를 어떻게 적용가능할지에 대한 논리적 사고만 되시면 됩니다.
(이게 어렵죠...)
이전에는 후위연산문제도 나왔었습니다. (POSTFIX 라고도 하지요.)

기존의 문제들은 인터넷에 많으니 금방 찾으실 수 있으실거에요.

저도 독학으로 하느라 많은 고생을 했었는데, 질문 올리신분은 기간이 짧아서 잘 모르겠네요.
개인적으로는 대학가셔서 공부하셔도 늦지않다는게 초등학교떄부터 코딩해본사람으로써의 조언입니다.

오히려 어릴때 코딩하면 잘못된 습관이 들어 좋지못할 수도 있거든요. ( 동물적(?)감각은 좋아질수도 있습니다.. )

파이팅..

---------------------------------------------------------------
Opensource에 기여하는 것이 꿈입니다.
내가 만든 코드를 모두가 사용할 때 까지~

E_Dn의 이미지

제가 너무 올림피아드를 얕봤다는 생각이 확 들더군요..
정신차리게 해주셔서 감사드립니다
더 열심히 해야겠어요. ㅎㅎ

simminjo의 이미지

제가 말한 지역예선의 기준은
본선 바로앞단계입니다.
지역 대표로 나가기 위한 예선을 말씀하시는 거라면....

대충풀어도 될 정도로 쉽습니다......

---------------------------------------------------------------
Opensource에 기여하는 것이 꿈입니다.
내가 만든 코드를 모두가 사용할 때 까지~

klyx의 이미지

별도움은 안될듯한 댓글인데... 저도 독학으로 익혔기 때문에 몇마디 주절거립니다.
맘에 안드시면 그냥 무시하셔도 됩니다.

우선 왜 프로그래밍 공부를 하는데 부모님의 허락을 받아야 하지요?
가정 분위기에 따라서도 다르겠지만, 보통 고등학생이라면 학교/학원 외 시간에 나가 놀던 집에서 게임을 하던 여가 시간은 충분히 나오지 않나요?
질문하신 분의 집안에서는 학생에게 공부 이외의 여가라는건 허용되지 않는 분위기인가요?

더불어서 왜 정보 올림피아드인지도 모르겠습니다.
프로그래밍을 잘하는 것과 정보 올림피아드에서 입상하는 것 사이에 큰 연관관계는 없습니다.
타고난 재능이 있는게 아니라면 결국엔 올림피아드는 그냥 훈련이니까요.
요즘 올림피아드는 생기부에 기록도 안된다고 들었습니다(정보는 다른가요?).
이게 맞다면 딱히 진학하는데에 도움이 되지도 않을 테구요.

목표 자체가 정보 올림피아드이고, 그걸 즐길거라면 상관없습니다.
다만, 프로그래밍 공부를 하기 위해서 올림피아드 입상을 목표로 한다는건 주객이 전도된 느낌을 버릴수 없네요.
궁극적으로 프로그래밍을 배워서 뭐할건지를 생각해보시는게 좋을듯합니다.
'프로그래밍 실력 향상'이라는 것도 목표가 정해져야 좀더 제대로 조언 받을 수 있습니다.
앞에서 말했듯이 올림피아드 입상 자체가 목표인 거라면 올림피아드를 위한 공부를 해야지 어플리케이션 짜는 법을 배워도 소용은 없지요.
이걸로 밥벌어 먹고 살건지, 그냥 취미로 할건지도 중요하구요(많은 경우 취미로 할 것이 장려됩니다).

E_Dn의 이미지

말이 너무 길어질까봐 몇가지 내용을 생략했더니 오해를 낳게 된것같네요..ㅎㅎ
일단 맨 첫번째 단락의 말씀...전부다 맞습니다.
저희집이..엄청 엄격하고 아주 가부장적이라서 뭐든지 아버지의 언더컨트롤입니다..
그리고.. 여가시간은 없죠... 강제적인 야간자율학습때문에 주말밖에 시간이 나지 않습니다. 평일 새벽이랑..

또, 왜 정보올림피아드인지 모르시겠다구요...
제가 고3이고...제가 정말 가고싶은 학과가 있는데(이 학과에서는 정말 제가 하고싶은 공부만 맘껏 할수 있거든요..), 지금 상태로는 서류전형도 통과하지 못합니다.
그래서 여기저기 인터넷에 찾아보니 그나마 도움이 될만한게 정보올림피아드이기에 지푸라기라도 잡는 심정으로 노력을 쏟아붓고있습니다.

아, 그리고 제가 프로그래밍 언어를 공부하는 목적은 1차적으로 프로그램을 만드는 것이지 올림피아드에서 수상하기위해서 공부하는건 아닙니다.

어쩔수 없이...네....

수능끝나면 좀더 본격적으로 공부해볼 생각입니다. 대학 진학하든 말든...

제가 글을 잘 못써서 오해가 생긴것같네요... 죄송합니다.

snowall의 이미지

그 학과에 가더라도 하고 싶은 공부를 정말 마음껏 할 수 있게 되지 않을 수도 있어요.

그리고 프로그래머가 되는 방법은 많습니다.

그래도 몇년 더 살아본 사람으로써... 현실적인 조언을 드린다면, 그냥 수능 공부 열심히 해서 대학에 가세요. 성적이 안되면 그냥 나쁘지 않은 대학에 점수 맞춰서라도 가세요. 그 다음에 하고싶은 일을 하는 것이 정석으로 보이네요. 물론 제 개인적 경험에 근거한 의견입니다.

피할 수 있을때 즐겨라! http://melotopia.net/b

jick의 이미지

"그 학과에 가더라도 하고 싶은 공부를 정말 마음껏 할 수 있게 되지 않을 수도 있어요."

여기에 백만표.

고등학교 때 생각하던 xx학과의 모습과 실제 들어가서 공부하는 것 사이에는 상당한 괴리가 있을 수 있습니다.

barmi의 이미지

사이트 하나 알려드릴게요.
http://www.jungol.co.kr

위 사이트 참고하시고,
올해부터는 gcc/g++을 사용하니 환경은 이전에 비해서 훨씬 좋아질 겁니다.

참고하세요.

E_Dn의 이미지

이미 자주 쓰고 있긴한데...
여튼 감사합니다. ㅎㅎ

simminjo의 이미지

가고싶으신 과에서 정보올림피아드를 본다면 아마도 전산쪽이 아닐까 싶습니다.
프로그램을 잘 짠다의 기준이 코딩을 잘한다로 생각하실지 모르시겠지만 더 높은 레벨로 올라가기 위해선
수학적 기초지식이 필요합니다.

당장 학생 3학년 때까지도 이 사실을 못 깨닫는 학생도 많지만, 고급테크닉, 더 멋진 기술들을 해보시려면
수학이 필요합니다.

그러한 것들을 포기한채 대학에 진학을 해도 고생하는건 마찬가지일듯합니다.
저 역시도 초,중,고교2 까지 학교 공부보다 프로그래밍 언어를 더 좋아해서 독학을 하느라 학업에 충실하지
못했습니다.

그 덕에 수학이 좀 모자라서 엄청 고생했습니다.

다시 돌아간다면, 프로그래밍보다 수학을 더 열심히 했었을것 같습니다.
학교졸업하고 회사를 다니는 입장에서 제 학교 동기들과 저와의 차이는 크게 안느껴지거든요.

가서 해도 늦지 않으니, 차라리 성적이 모자르시면 한해 재수를 하시더라도 기초학업을 충실히 하시는게
먼 미래를 위해 더 낫지 않을까 싶습니다. ^^

---------------------------------------------------------------
Opensource에 기여하는 것이 꿈입니다.
내가 만든 코드를 모두가 사용할 때 까지~

E_Dn의 이미지

꼭 명심하도록하겠습니다. ㅋ
학교 공부와 병행하니 큰 문제는 없을것같네요 ㅎㅎ
다만..아주 힘들뿐..

snowall의 이미지

돌아간다고 생각하지 마시고 웬만하면 학업 쪽에 더 충실하세요. 절대로 돌아가는거 아닙니다. 오히려 빨라요.

피할 수 있을때 즐겨라! http://melotopia.net/b