고난도?(까진 아니지만) 프로그래밍 문제를 풀면서 든 생각들 + 고민

wans038의 이미지

아직 개발자가 아닌 개발자 지망생인데 여기에 글을 올려도 괜찮을지 모르겠네요ㅎㅎ

안녕하세요
c에 대한 너무 부족한 느낌이 들어 저 저번 주부터 다시 복습을 하고(윤성우 열혈 C)

오늘 도전 프로그래밍(책 파트마다 나오는 문제) 마지막 문제 전화번호부 관리를 도전했습니다.
(여기있는 사람들에게는 고난도가 아니지만 저는 장벽 같았어요ㅠ)
결과는 실패...
머리를 쥐어짜도 어떻게 구현해야 할지 모르겠습니다.

진짜 여태까지 도전 프로그래밍을 한 번도 풀지 않고 그냥 단지 책만 완벽히 읽고 그랬는데
이제 와서 도전 프로그래밍 문제를 보니...

어떻게 코드를 작성해야 하는 법을 모르겠습니다.
왜 그런 걸까요?
진짜 책에 나오는 문법은 다 알겠는데...

제가 수학을 못해서인가요? 아니면 c언어 문법이 딸려서 그런 건가요?
이런 코드를 잘 짤 수 있는 능력은 어디서 나오는 건가요?

진짜 수학을 잘해야 코딩이 쉽나요? 그 수학이라는 놈은 사고력을 뜻하는 건가요? 아님 단지 문제 푸는 것을 뜻하나요?
수학 사고력이랑 프로그래밍 사고력이 다른가요?
소프트웨어 개발자가 꿈인데 나중에 실무 프로그래밍을 할 때 어떻게 해야 할지 생각이 안 날까 봐 두렵습니다...

경험 개발자님 조언을 부탁드립니다... (__)
긴 글읽어주셔서 감사합니다.

p.s 그놈의 수학이 문제인가요...?

jick의 이미지

> 진짜 여태까지 도전 프로그래밍을 한 번도 풀지 않고 그냥 단지 책만 완벽히 읽고 그랬는데

여기서 에러인듯. 프로그래밍 문제를 풀어보지 않고 책만 읽었다는 건 운전 연습을 안하고 운전에 관한 책만 "완벽히 읽었다"는 거나 마찬가지죠.

1장에 나오는 연습문제부터 차근차근 풀어보세요. (몇 개 해보니 너무 쉬워서 다 풀겠다면 그 다음 장으로...)

djinni의 이미지

프로그래밍을 입시 공부 처럼 하면 안됩니다.
시험을 보기 위해서가 아니라 실제로 사용하기 위한 공부니까요

프로그래밍에서 수학이 중요하다는 것도 같은 맥락이죠
수학 시험을 잘보는게 중요한게 아니라 그 원리와 논리적인 사고의 훈련이 중요한 겁니다.

그런걸 안하다가 갑자기 하려고 하면 잘안되겠죠.
별 다른 방법은 없어요 계속 부딪혀야죠.
간단한 프로그램부터 작성해 보세요 전화번호관리가 어려우면 더 쉬운거 부터 시작하세요.
쉽다고 넘기지 말고 다양한 방식으로 짜 보세요.
공부도 인내력이 필요합니다.
뭐 그래도 제 경우엔 영어 공부보단 인내력이 훨씬 덜 필요하더군요